App game kit classic is the first of them
App Game Kit Studio is the second release with a choice of two rendering engines and its own 2D
2D placement tool
Each has two versions the basic hybrid which you will see examples of mostly across the forums
known as tier 1 then there is a more professional and faster approach that want to push every
frame rate they can out of their programs known as tier2 which most people use Microsoft Studio
as there IDE for the Tier2 code
you asked on another thread for 2D wrapping tiles
SetVirtualResolution(1024,768)
GLOBAL Block as integer[5,4]
for y= 1 to 4
for x = 1 to 5
Block[x,y] = createSprite(0)
setSpriteSize(Block[x,y],300,300)
setSpritePosition(Block[x,y],(x-1)*300,(y-1) * 300)
setSpriteColor(Block[x,y],random(1,255),random(1,255),random(1,255),255)
next x
next y
do
speed#=10
if GetRawKeyState(37) //left arrow pressed
ScrollRight(speed#)
endif
if GetRawKeyState(39) //right arrow pressed
ScrollLeft(-speed#)
endif
if GetRawKeyState(38) //up arrow key pressed
ScrollDown(speed#)
endif
if GetRawKeyState(40) //Down arrow pressed
ScrollUp(-speed#)
endif
Sync ()
loop
function ScrollUp(y# as integer)
for y=1 to 4
for x = 1 to 5
SetSpritePosition (Block[x,y], getSpritex(Block[x,y]), GetSpriteY (Block[x,y]) + y#)
next x
for x = 1 to 5
if getSpriteY(Block[x,y])<-300
SetSpritePosition (Block[x,y], getSpritex(Block[x,y]), GetSpriteY (Block[x,y]) + 1200)
endif
next x
next y
endfunction
function ScrollDown(y# as integer)
for y=1 to 4
for x = 1 to 5
SetSpritePosition (Block[x,y], getSpritex(Block[x,y]), GetSpriteY (Block[x,y]) + y#)
next x
for x = 1 to 5
if getSpriteY(Block[x,y]) > GetVirtualHeight()
SetSpritePosition (Block[x,y], getSpriteX(Block[x,y]), GetSpriteY (Block[x,y]) - 1200)
endif
next x
next y
EndFunction
function ScrollLeft(x# as integer)
for y=1 to 4
for x = 1 to 5
SetSpritePosition (Block[x,y], GetSpriteX (Block[x,y]) + x#, GetSpriteY (Block[x,y]) )
next x
for x = 1 to 5
if getSpriteX(Block[x,y])<-300
SetSpritePosition (Block[x,y], GetSpriteX (Block[x,y]) + 1500, GetSpriteY (Block[x,y]))
endif
next x
next y
endfunction
function ScrollRight(x# as integer)
for y=1 to 4
for x = 1 to 5
SetSpritePosition (Block[x,y], GetSpriteX (Block[x,y]) + x#, GetSpriteY (Block[x,y]) )
next x
for x = 1 to 5
if getSpriteX(Block[x,y])> getVirtualWidth()
SetSpritePosition (Block[x,y], GetSpriteX (Block[x,y]) - 1500, GetSpriteY (Block[x,y]))
endif
next x
next y
endfunction
its just an example but should give you an idea on how to create your own it came from my thread
https://forum.thegamecreators.com/thread/222027?page=1