Nun, indem du, nachdem du alle Objekte bewegt hast, eine Kollisionsprüfung vornimmst..

Unter Umständen sogar nach jeder Positionsveränderung, es kommt darauf an.
Um bei deinem Player/Ball Beispiel zu bleiben.
Es spielt auch eine Rolle, wie groß die Grafiken sind.
Wenn ich z.B. einen Ball habe, welcher 15 Pixel groß ist und der Spieler sich aber mit einer
Geschwindigkeit von 20 Pixel/Frame bewegt..... VERSTEHST ??

Wenn du also kleine Grafiken benutzt, solltest du nach JEDEM Neupositionieren des Spielers UND
nach JEDER Balllpositionsveränderung einen Check durchführen.
Ich hoffe ich habe es jetzt nicht zu kompliziert erklärt, ansonsten frag einfach nach.
Das hier ist nicht lauffähig, aber ich hoffe du verstehst die Vorgehensweise:
Code: Alles auswählen
Procedure CheckCollision()
ForEach Ball()
With Ball
If SpritePixelCollision( PlayerSprite, PlayerX, PlayerY, BallSprite, BallX, BallY )
; Was auch immer dann geschehen soll :-)
EndIf
EndWith
Next
EndProcedure
Procedure MovePlayer()
PlayerX + player_dx
PlayerY + player_dy
EndProcedure
Procedure MoveBall()
BallX + ball_dx
BallY + ball_dy
EndProcedure
Procedure DisplayAll()
ClearScreen( 0 )
; Alles anzeigen
FlipBuffers()
EndProcedure
Repeat
MovePlayer()
MoveBall()
CheckCollision()
DisplayAll()
ExamineKeyboard()
Until KeyboardPushed( #PB_Key_Escape )