Käyttötapaesimerkki:
Code: Select all
'erittäin nopea luoti
ObjectPickable kartta,1
If CheckCollide(luoti\obj,56)=0 Then
MoveObject luoti\obj,56
Else
DeleteObject luoti\obj
Delete luoti
EndIf
Code: Select all
'Kun objektia liikutetaan liian nopeasti, se saataa mennä törmättävien objektien läpi.
'Tämä tarkistaa, ettei objekti liikkumismatkallaan mene minkään törmättävän läpi.
'Parametrit:
'obj = objekti, jonka törmäys tarkistetaan
'move = matka, jonka objekti kulkee
'[ang] = objektin menokulma. Käytä vain jos objektia liikutellaan muualle kuin objektin suuntaan.
'HUOM! Jotta funktio toimisi, kaikki objektit, johon törmäävän objektin pitäisi törmätä,
'pitää esitellä poimittavaksi. Lisäksi tämä kuuluisi tarkistaa ennen objektin liikuttelua!
Function CheckCollide(obj,move,ang = 0)
If ang=0 Then ang = ObjectAngle(obj)
objPicker = MakeObject()
RotateObject objPicker,ang
ObjectPick objPicker
If PickedObject()=0 Then Return 0
If Distance(PickedX(),PickedY(),ObjectX(obj),ObjectY(obj))<move+1 Then Return 1
End Function