Spielkarte bleibt bei schnellere Mousebewegung hängen

Anfängerfragen zum Programmieren mit PureBasic.
miks
Beiträge: 4
Registriert: 02.08.2005 00:58

Spielkarte bleibt bei schnellere Mousebewegung hängen

Beitrag von miks »

Hallo,

ich habe einen Mousezeiger und eine Karte auf dem Screen.

Bei erkannter Kollision zwischen Mouse und Karte (Mousebutton muß auch

gedrückt sein) soll die Karte beliebig auf dem Screen bewegt werden

können.

Klappen tut es bei langsamer Mousebewegung nur, wenn ich die Maus

schneller bewege, bleibt die Karte hängen und folgt dem Zeiger nicht

weiter.

Größe der Karte: 85 x 120 Pixel

Meine Cpu: 2400+
Graka: Radeon 9600 pro

Code-Schnipsel:

Code: Alles auswählen

InitSprite()
InitKeyboard()
InitMouse()
OpenScreen(800,600,16,"karten")


LoadSprite(1,"karten\karte_000.bmp",0)
LoadSprite(2,"karten\mouse.bmp", 0)


x1 = 100; Position der Karte
y1 = 100



Repeat
ClearScreen(0,255,0)
ExamineKeyboard()
ExamineMouse()                      
x = MouseX()                       
y = MouseY()
   


DisplaySprite(1,x1-40,y1-50)

DisplaySprite(2,x,y)

If SpriteCollision(2,x,y,1,x1,y1 )=1 And MouseButton(1)

x1 = x
y1 = y

EndIf


FlipBuffers()
If KeyboardPushed(#PB_Key_Escape)
End
EndIf
ForEver
Edit by Kiffi: Code-Tags gesetzt
Benutzeravatar
Epyx
Beiträge: 247
Registriert: 29.08.2004 01:40
Computerausstattung: AMD64 X2 DualCore 6000+ , 3GB Ram , WinXP sp3
2x Ati Radeon HD4800 ~ CrossFireX
Kontaktdaten:

Beitrag von Epyx »

Ist ja auch klar, du lässt ständig überprüfen ob die karte mit dem Mauszeiger kollidiert. Wenn du die Maus schnell bewegst springt diese auch mal mehr Pixel auf einmal als wenn du sie langsam bewegst und rutscht damit aus der Kollision herraus.

Mach da eine Art schalter rein wenn der Mauszeiger mit der Karte Kollidiert ist und dabei maus gedrückt wurde schalter an.

Also Karte halten solange schalter an ist egal ob Kollision besteht oder nicht

Wenn du die maus los lässt dann schalter aus und karte bleibt liegen wo sie ist, ich hoffe ich habe mich einigermaßen verständlich ausgedrückt ?!!

Und hau mal Code Tags in deinen Post...
If you can't make it good, at least make it look good.
Bill Gates
miks
Beiträge: 4
Registriert: 02.08.2005 00:58

Beitrag von miks »

Danke schön :)
Antworten