CONST standing
= 1, walking
= 2 CONST down
= 0, up
= 1, right
= 2, left
= 3
CONST Default_Key_Right
= 19712, Default_Key_Left
= 19200, Default_Key_Up
= 18432, Default_Key_Down
= 20480 CONST Default_A_Button
= 32, Default_B_Button
= 13, Default_Start_Button
= 65, Default_Select_Button
= 66
'--------------Alis Character Sprites-----------------
DATA 47,0,17,24,49,27,14,24,50,54,15,24,49,81,14,24:
'Standing Sprites DN\UP\RT\LT DATA 0,1,15,24,16,1,14,24,31,1,15,24:
'walking down sprites DATA 0,28,14,24,17,28,13,24,32,28,14,24:
'walking Up sprites DATA 0,54,16,24,17,54,15,24,34,54,13,24:
'walking Right sprites DATA 0,81,13,24,15,81,14,24,31,81,16,24:
'walking Left sprites DATA 0,1,2,1:
'animation frame order READ AlisFrames
(I%%
).Lx
, AlisFrames
(I%%
).Ly
, AlisFrames
(I%%
).Sx
, AlisFrames
(I%%
).Sy
'map& = _LOADIMAGE("PStarTownsALL.bmp", 32) '1760x1600[110x100tiles]
tile&
= _LOADIMAGE("TownTileMasterLinear.png", 32) ''alis start point 1968x128
'build a section of the towns map sheet
_PUTIMAGE (0 + 32 * x%%
, 0 + 32 * y%%
)-STEP(31, 31), tile&
, Townlayer&
, (0 + 17 * TownMap
(x%%
, y%%
), 0)-STEP(15, 15) '_SCREENMOVE 10, 10
'SLEEP
'---------------------------------------
g.Status = standing
'g.Status = walking
g.Facing = down
Px% = 0: Py% = 0
Mx% = 69 'players position within map array X
My% = 10 ' players position within map array Y
'FOR I%% = 0 TO 15
'_PUTIMAGE (0 + 32 * I%%, 10)-STEP(-1 + AlisFrames(I%%).Sx * 2, -1 + AlisFrames(I%%).Sy * 2), char&, _DISPLAY, (AlisFrames(I%%).Lx, AlisFrames(I%%).Ly)-STEP(AlisFrames(I%%).Sx - 1, AlisFrames(I%%).Sy - 1)
'NEXT I%%
'END
_PUTIMAGE (64, 48)-STEP(511, 383), Townlayer&
, MIX&
, (1968 + Px%
, 128 + Py%
)-STEP(511, 383) Place_Alis
'---------------debuging-----------------------
'-------------------------------------------
'-----------------Controls------------------
'--------------------------------------------
'----------------Movement--------------------
Py% = Py% - 2
g.Moving = FALSE: My% = My% - 1
Ft%% = 0: frame%% = 0
Py% = Py% + 2
g.Moving = FALSE: My% = My% + 1
Ft%% = 0: frame%% = 0
Px% = Px% - 2
g.Moving = FALSE: Mx% = Mx% - 1
Ft%% = 0: frame%% = 0
Px% = Px% + 2
g.Moving = FALSE: Mx% = Mx% + 1
Ft%% = 0: frame%% = 0
'---------------------------------------------
'---------------animated moving---------------
' IF g.Moving THEN
' Ft%% = Ft%% + 1
' IF Ft%% = 8 THEN frame%% = frame%% + 1: Ft%% = 0
' IF frame%% = 4 THEN frame%% = 0
' END IF
'-------------Fellippe's suggestion.-------------
totalFrames = 4
IF g.Moving
AND TIMER - lastFrameUpdate!
>= .125 THEN 'adjust .3 to whatever interval you want frame%%
= (frame%%
+ 1) MOD totalFrames
'---------------------------------------------
_PUTIMAGE (304, 226)-STEP(31, 45), char&
, MIX&
, (0 + 17 * g.Facing
, 120)-STEP(15, 22) _PUTIMAGE (304, 226)-STEP(31, 45), char&
, MIX&
, (68 + 51 * g.Facing
+ AlisAnim
(frame%%
) * 17, 120)-STEP(15, 22)
Result%% = FALSE
CASE 6 'stone path (walkable) CASE 9 'concrete path(walkable) CASE 42, 43, 34, 35 'houses Result%% = TRUE
Collision%% = Result%%