Muisti ongelma
Muisti ongelma
Moro. OOn koittanu alottaa ton mun työn ja sit venaan vähä aikaa ja sit siihe tulee "*Memory accses violation" En tajuu mix ku koodit on oikein. Helppii jos voi
-
- Devoted Member
- Posts: 718
- Joined: Wed Nov 03, 2010 7:56 pm
- Location: Joku piste pohjoisessa.
Re: Muisti ongelma
mav ongelmat aina tyhmiin kysymyksiin.
ilman koodia emme voi tehdä mitään.
Mav aiheutuu usein siitä, että yrität käyttää tuhottua objektia tai viittaat lataamattomaan objektiin.
ilman koodia emme voi tehdä mitään.
Mav aiheutuu usein siitä, että yrität käyttää tuhottua objektia tai viittaat lataamattomaan objektiin.
<Ize> Pitäs tehä allekirjotus..
<Ize> Vois keksiä jonkin nasahtavan sanonnan..
<Ize> Siitä tulis upea legenda ja kaikki vaihtaisivat allekirjoituksensa siihen.
<Ize> Ehkä ei kuitenkaa...
<Ize> Vois keksiä jonkin nasahtavan sanonnan..
<Ize> Siitä tulis upea legenda ja kaikki vaihtaisivat allekirjoituksensa siihen.
<Ize> Ehkä ei kuitenkaa...
Re: Muisti ongelma
Last edited by Awaclus on Mon Mar 28, 2011 9:37 am, edited 1 time in total.
Re: Muisti ongelma
Jos näyttäisit koodisi, voisi paremmin olla avuksi. Lue ensin ainakin kolmoskohta usein kysytyistä kysymyksistä.
Voit myös koittaa paikantaa bugikohtaa lisäämällä SetWindow- tai Print-käskyjä sinne tänne koodia, esim.
Koodi on muokattu Cloneobjects-käskyn esimerkistä, ja se kaatuu kun ammus menee ikkunan ulkopuolelle. Virheilmoituksen tullessa ikkunan otsikoksi jää "Rivi 55", jonka avulla tietää, että vika on rivien 55 ja 62 välillä.
Voit myös koittaa paikantaa bugikohtaa lisäämällä SetWindow- tai Print-käskyjä sinne tänne koodia, esim.
Code: Select all
Type BULLETS
Field obj
End Type
'- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
'MAIN PROGRAM
'- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
FrameLimit 40
'load the soldier, turning detail 72
guy=LoadObject("Media\soldier.bmp",72)
'load the bullet (master-object) and hide it
bullet=LoadObject("Media\bullet.bmp")
ShowObject bullet,OFF
ClsColor cbdark
AddText "Arrows to turn, SPACE to shoot"
SetWindow "Rivi: 21"
'MAIN LOOP
Repeat
'Update turning
If LeftKey() Then TurnObject guy,5
If RightKey() Then TurnObject guy, -5
SetWindow "Rivi: 28"
'Shoot?
If KeyDown(cbkeyspace) And reload=0
newBullet.BULLETS= New(BULLETS)
newBullet\obj=CloneObject(bullet)
CloneObjectPosition newBullet\obj,guy
CloneObjectOrientation newBullet\obj,guy
'put the bullet at the end of the barrel
MoveObject newBullet\obj,24
reload=4
SetWindow "Rivi: 41"
EndIf
'Update all BULLETS (move them forward)
i=0
For iBullet.BULLETS= Each BULLETS
'delete bullet from collection if it
'gets too far away
SetWindow "Rivi: 49"
If Distance2(iBullet\obj,guy)>200 Then
DeleteObject iBullet\obj
Delete iBullet
EndIf
SetWindow "Rivi: 55"
MoveObject iBullet\obj,6 'speed=6 TÄSSÄ PITÄISI KAATUA, JA IKKUNAN OTSIKOKSI JÄÄDÄ RIVI 55, KOSKA YRITETÄÄN KÄYTTÄÄ TUHOTTUA OBJEKTIA
i=i+1
Next iBullet
SetWindow "Rivi: 62"
'Update reloading
If reload>0 Then reload=reload-1
Text 30,30,"Bullets to update: "+i
'Don't forget this :)
DrawScreen
SetWindow "Rivi: 71"
Until EscapeKey()
EDIT:
Jaaha, mato ehtikin ensin
Niin ja tälläiset kysymykset yleensä sopii paremmin Tyhmiin kysymyksiin.