Problem mit Bilder Kollision...

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

BlackBlitz

Betreff: Problem mit Bilder Kollision...

BeitragFr, Mai 12, 2006 20:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Also, irgendwas stimmt nicht in meinem Code.
Hier mal der Code:

Graphics 640,480,32,0
SetBuffer BackBuffer()
HidePointer
While Not KeyHit(1)
X=MouseX()
Y=MouseY()
Cls
Mensch = LoadImage("Maus.png")
Welt = LoadImage("Erde, Sonne.png")
MaskImage Welt, 255, 0, 255
DrawImage Welt, 0, 0
MaskImage Mensch, 255, 0, 255
DrawImage Mensch, X, Y
Flip
Wend
End
If ImagesCollide (Mensch,X,Y,0,Welt,circleX,circleY,0) Then Print("oh no!")


So, aber das mit den Collidiren (lol, witziger Name Surprised ) ) klappt einfach ned.
Es kommt keine Nachricht wenn ich auf ein anders Bild stoße.

Bye

PS: Bin Anfänger! Sad

Willi die Rübe

BeitragFr, Mai 12, 2006 21:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Also in deinem Code sind ein paar typische Fehler:

1. ql:LoadImage muss vor der Hauptschleife geladen werden, sonst müllst du den Grafikspeicher zu. ql:Maskimage muss auch raus.
2. ql:Imagescollide muss in die MainLoop sonst wird das Bild ja erst auf Kollision geprüft, wenn das Programm beendet wurde (also wird das Bild gar nicht überprüft), denn vorher steht ql:End .
3. circleX und circleY sind undefiniert und haben somit den Wert 0, welches aber solange das Bild "Welt" auf 0x0 gezeichnet wird, nichts ausmacht.
4. ql:Print schreibt direkt in den Frontbuffer, deshalb nicht zu empfehlen bei Doublebuffering.

So dürfte es funktionieren:
Code: [AUSKLAPPEN]

Graphics 640,480,32,0
SetBuffer BackBuffer()
HidePointer

Global Mensch = LoadImage("Maus.png")
Global Welt = LoadImage("Erde, Sonne.png")
MaskImage Welt, 255, 0, 255
MaskImage Mensch, 255, 0, 255

Global x%,y%
Global circleX%,circleY%

While Not KeyHit(1)
 Cls
 X%=MouseX()
 Y%=MouseY()
 If ImagesCollide (Mensch,X,Y,0,Welt,circleX,circleY,0) Then Text 10,10, "oh no!"

 DrawImage Welt, 0, 0
 DrawImage Mensch, X, Y
 Flip
Wend
End

Freeimage Welt
Freeimage Mensch



Greetz
Ich habe keine Lösung, aber ich bewundere das Problem.
Tehadon
Q6600, MSI Neo2-FR, 4GB Ram, nVidia 7800 GTX

At the Farewell Party visit: MySpace | Homepage
  • Zuletzt bearbeitet von Willi die Rübe am Fr, Mai 12, 2006 21:52, insgesamt einmal bearbeitet

5k41

BeitragFr, Mai 12, 2006 21:41
Antworten mit Zitat
Benutzer-Profile anzeigen
mh sry aber codekacking ( geiles werb oder ) der übelsten art... denke nicht das es nötig ist ihm die lösung einfach so ohne das er was machen muss zu posten, denn ich mein er soll doch was lernen

MfG
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group