Oikeassa koodissa se on itseasiassa näin:MaGetzUb wrote:Koodi näyttää siistiltä eikä pitäisi virheille jäädä paljoakaan varaa. Mutta kuitenkin spottasin tällaisen pätkän piirtokoodista:
Pitäisikö "if _ val = 0 Then Goto UPDATE" olla "Goto DRAW" koska nythän if _val =0 -ehdon täyttyessä, tämän alapuolella oleva koodi suoritetaan jokatapauksessa, täyttyykö ehto vai ei.Code: Select all
.. Text _x, _y, _val If _val = 0 Then Goto UPDATE UPDATE: ..
Code: Select all
DRAW:
_val% = PeekInt(Handle, _i)
If _val = 0 Then Goto UPDATE
' Calculate position
_pos% = (_i Shr 2) - 1
// Shl 3 = 8x8 tiles, Shl 4 = 16x16 tiles
// Shl 5 = 32x32 tiles, Shl 6 = 64x64 tiles
_x% = (_pos Mod _width) Shl 4
_y% = (_pos / _width) Shl 4
' Draw at position
af_DrawSprite(_val, _x, _y)
UPDATE:
_i = (_i + 4)
If _i = _memSize Then Return True
Goto DRAW