I'm not agree with you,
You can easilly create 2d collisions with a dim, i'm going to give you an exemple, just look.
As you can See, this game is not finish, but it shows the collision with dim
`----------------------------
` Casse Brique By T£R$AK£N -
`----------------------------
Set Display Mode 640,480,16
Sync On : Hide Mouse
`Variables
Dim Map(20,15) : Dim Balle(2)
Dim Position(2) : Dim Score(0)
Position(0) = 320 : Position(1) = 450
`Medias
Ink Rgb(255,0,0),0 : Box 0,0,128,32 : Get Image 1,0,0,128,32 : Cls
Ink RGB(255,255,0),0 : Box 0,0,32,32 : Get Image 2,0,0,32,32 : Cls
Ink RGB(0,255,0),0 : Circle 10,10,10 : get image 3,0,0,22,22 : cls
LoadStage()
Affiche()
Do
Cls
Ball()
Collision()
Affiche()
print Score()
Sync
Loop
Function Affiche()
Paste Image 3,Position(0),Position(1)
Paste Image 1,Mousex(),450
for y = 0 to 13 : for x = 0 to 18
if map(x,y) = 1 : paste image 2,x*32,y*32,2 : endif
if map(x,y) = 0 : Inc Compteur,1 : endif
next x : next y
if Map(Position(0)/32,Position(1)/32) = 1 : Map(Position(0)/32,Position(1)/32)=0 : Inc Score(0),10 : endif
if compteur = 266 or Position(1) > 480 : Cls : Text 200,200,"Fin de jeu " : sync : wait 1000 : end : endif
Endfunction 0
Function Collision()
If Position(0) < 0 : Balle(0) = 1 : endif
if position(0) > 640 : Balle(0) = 0 : endif
if position(1) < 0 : Balle(1) = 1 : endif
if Position(0) > Mousex() and Position(0) < Mousex() + 128
if Position(1) > 430
Balle(1) = 0
endif
endif
endfunction 0
Function Ball()
If Balle(0) = 0 : Position(0) = Position(0)-3 : else : Position(0) = Position(0)+3 : endif
if balle(1) = 0 : Position(1) = Position(1)-3: else : Position(1) = Position(1)+3 : endif
endfunction
Function LoadStage()
Restore Niveau
for y = 0 to 13 : for x = 0 to 18
read map(x,y)
next x : next y
endfunction
Niveau:
Data 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
If he's beginning, he can use sprites, but in the future, he'll dissover the real limit !
Good luck for you next creation !
Ps : we call this " Square " Tiles, it's very fast with images, i often use this technic, you've got here a help file http://melysoph.free.fr/Dark/Tutos/tiles.htm
But it's in french ! ( it's my own creation )
Athlon 1700+ ; 256 Mo DDR ; GeForce Fx 5600 128 Mo.