Maus mit Objekt kollidieren
Übersicht

![]() |
MikeDeeBetreff: Maus mit Objekt kollidieren |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bei diesem Code muss man noch ganz genau in die Ecke gehen damit sich das blaue Viereck auflöst, wie muss ich den Code ändern damit die Maus mit dem ganzen Viereck kollidiert?
Code: [AUSKLAPPEN] Graphics 1024,768,16,1 SetBuffer BackBuffer() SeedRnd MilliSecs() zx = Rand(0,1023) zy = Rand(0,767) ;Hauptschleife Repeat Cls HidePointer ;Norden? If KeyDown(17) Then hy = hy - 2 EndIf ;Osten? If KeyDown(32) Then hx = hx + 2 EndIf ;Süden? If KeyDown(31) Then hy = hy + 2 EndIf ;Westen? If KeyDown(30) Then hx = hx - 2 EndIf ;Auf der anderen Seite auftauchen. If hx < 0 Then hx = 1023 If hx > 1023 Then hx = 0 If hy < 0 Then hy = 767 If hy > 767 Then hy = 0 ;Spieler zeichnen Color 255,255,255 Rect hx,hy,10,10,1 ;Maus zeichnen mx = MouseX() my = MouseY() Color 255,0,0 Oval mx,my,5,5,1 ;Ziel zeichnen Color 0,0,225 Rect zx,zy,20,20,1 ;Zielkolission If mx = zx And my = zy Then zx = Rand(0,1023) : zy = Rand(0,767) Punkte = Punkte + 1 EndIf ;Punkte schreiben Color 255,255,255 Text 512,0,"Punkte"+Punkte Flip Until KeyHit(1) End Ich weiß das das Problem hier liegt, weiß aber nicht wie es verändert gehört Code: [AUSKLAPPEN] ;Zielkolission If mx = zx And my = zy Then zx = Rand(0,1023) : zy = Rand(0,767) Punkte = Punkte + 1 EndIf ps. den weißen Viereck kann man mit den WASD-Tasten steuern. |
||
- Zuletzt bearbeitet von MikeDee am Di, Mai 13, 2008 15:48, insgesamt einmal bearbeitet
![]() |
hamZtaAdministrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du fragst im Moment ja auch nur einen Punkt ab, nämlich zx und zy. Da dein Quadrat allerdings eine Breite von 20 Pixeln hat müsstest du abfragen, ob die Maus im Bereich zx bis zx+20 und zy bis zy+20 liegt.
hamZta |
||
Blog. |
![]() |
MikeDee |
![]() Antworten mit Zitat ![]() |
---|---|---|
habs so ausprobiert
Code: [AUSKLAPPEN] ;Zielkolission If mx = zx,zx+20 And my = zy,zy+20 Then zx = Rand(0,1023) : zy = Rand(0,767) Punkte = Punkte + 1 EndIf Jetzt kommt aber die Fehlermeldung "Expecting end-of-line" bestimmt habe ich's komplett falsch gemacht -.- |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
~VERSCHOBEN~ Dieser Thread passte nicht in das Forum, in dem er ursprünglich gepostet wurde. ..if mx >=zx and mx <=zx+20 and... |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du könntest ja die Funktion RectsOverlap![]() |
||
![]() |
MikeDee |
![]() Antworten mit Zitat ![]() |
---|---|---|
klappt schon alles so, bin schon zum nächsten Problem übergelaufen^^ | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group