Imagescollide probs

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

The_Nici

Betreff: Imagescollide probs

BeitragSo, Apr 08, 2007 23:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

   X=MouseX()
   Y=MouseY()
   
   boxX=600
   boxY=300
   
   If ImagesCollide (MouseCursor, boxX,boxY,0,OptionButton, boxX,boxY,0) Then
      Optionbuttoncollide=True
   End If


Der Junge denkt Optionbuttoncollide sei immer True, k.a. warum. ôo vll. hab ich auch den Befehl misverstanden.

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragMo, Apr 09, 2007 0:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Du must die Var auch wieder zurücksetzten, sonst bleibt die immer True
Code: [AUSKLAPPEN]
   X=MouseX()
   Y=MouseY()
   
   boxX=600
   boxY=300
   
   If ImagesCollide (MouseCursor, boxX,boxY,0,OptionButton, boxX,boxY,0) Then
      Optionbuttoncollide=True
else
Optionbuttoncollide=False
   End If
Oder einfach
Code: [AUSKLAPPEN]
Optionbuttoncollide=ImagesCollide (MouseCursor, boxX,boxY,0,OptionButton, boxX,boxY,0)
[BB2D | BB3D | BB+]

The_Nici

BeitragMo, Apr 09, 2007 0:20
Antworten mit Zitat
Benutzer-Profile anzeigen
jetzt sagt es immer es sei False, kann aber das menü trotzdem öffnen, wo ich will und wann ich will. wtf?
Soll ich den ganzen Code posten? Wenn ja:
Code: [AUSKLAPPEN]
Const FPS=50
period=1000/FPS
time=MilliSecs()-period


Graphics3D 800,600,32,2
SetBuffer BackBuffer()

AppTitle "Modell-Anschauer"

cam=CreateCamera()
RotateEntity cam, 0,180,0

HidePointer
Global MouseCursor=LoadImage ("MouseCursor.png")
MaskImage MouseCursor, 0,0,0
Global X=MouseX()
Global Y=MouseY()

Global OptionButton=LoadImage ("Optionen.png")
Global Optionsmenue=LoadImage ("Optionmenuebody.png")

path$=Input ("Modellnamen/Pfad eingeben: ")


Modell=LoadMesh (""+path$)
If Modell=0 Then Text 0,12,"Modell-Laden fehlgeschlagen. Es werden nur .3ds und .x Dateien akzeptiert."
PositionEntity Modell, 0,0,0
If Modell >0 Then Text 0,12,"Modell erfolgreich geladen! Bitte beliebige Taste drücken!"
;WaitKey
Cls

Zoom#=-5
ShowOptionMenue=False
While Not KeyHit(1)
   ;Steuerung, Zoom
   If KeyDown (203) Then Yaw#=Yaw#+1 ;RotateEntity Modell, 0,1,0
   If KeyDown (205) Then Yaw#=Yaw#-1 ;RotateEntity Modell, 0,-1,0
   If KeyDown (200) Then Pitch#=Pitch#-1 ;Modell, -1,0,0
   If KeyDown (208) Then Pitch#=Pitch#+1 ;Modell, 1,0,0
   If MouseDown(1) Then Zoom#=Zoom#+0.1
   If MouseDown(2) Then Zoom#=Zoom#-0.1
   If MouseDown(3) Then PositionEntity cam, 0,0,-0.2
   RotateEntity Modell, Pitch#,Yaw#,0
   MoveEntity cam,0,0,Zoom#

   ;Zoom wird auf 0 gesetzt
   Zoom#=0
   ;Maus X und Y deklarieren
   X=MouseX()
   Y=MouseY()
   
   boxX=600
   boxY=500
   
   Optionbuttoncollide=ImagesCollide (MouseCursor, boxX,boxY,0,OptionButton, boxX,boxY,0)
   
   ;If ImagesCollide (MouseCursor, boxX,boxY,0,OptionButton, boxX,boxY,0) Then
   ;   Optionbuttoncollide=True
   ;End If
   
   ;Klicken
   If Optionbuttoncollide=1 And MouseHit(1) Then
      Optionopen=True
   Else
   Optionbuttoncollide=False
   End If

   ;Windoof-Mauszeiger verschwinden lassen
   HidePointer
   ;Optionsbutton
   DrawImage OptionButton, 600,500

      
   ;Anzeigen:
   Text 0,0,"C 2007 by The_Nici"
   Text 0,12,Optionbuttoncollide
   Text 0,24,X+", "+Y



   ;Buttons:
   If Optionopen=True Then
      ShowOptions()
   End If

   ;Maus refreshen
   UpdateMouse

   ;Darstellen
   Flip
   UpdateWorld
   RenderWorld
Wend


End

Function UpdateMouse()
   DrawImage MouseCursor, X,Y
End Function



Function ShowOptions()
      DrawImage Optionsmenue, 600,0
End Function

FreetimeCoder

BeitragMo, Apr 09, 2007 7:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
ImagesCollide (MouseCursor, boxX,boxY,0,OptionButton, boxX,boxY,0)


Sollte das nicht vielleicht heißen:

Code: [AUSKLAPPEN]
ImagesCollide (MouseCursor, X,Y,0,OptionButton, boxX,boxY,0)


Question
"Wir haben keine Chance, aber wir werden sie nutzen!"
Projekte:
Dexterity Ball (100%)
Aquatic Atmosfear (22 % ca 4700 Zeilen) eingefrohren mangels OOP Fähigkeiten von Blitz
(ehemals Uboot)
PC: Intel D 3 GHz | NVidiaGforce 6700 256 Mb | 1024 Mb DDR RAM 400 Mhz | 2x160 GB S-ATA

Smily

BeitragMo, Apr 09, 2007 9:01
Antworten mit Zitat
Benutzer-Profile anzeigen
naja eher mousex() und mousey() ^^
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org

The_Nici

BeitragMo, Apr 09, 2007 9:54
Antworten mit Zitat
Benutzer-Profile anzeigen
FreetimeCoder hat Folgendes geschrieben:
Code: [AUSKLAPPEN]
ImagesCollide (MouseCursor, boxX,boxY,0,OptionButton, boxX,boxY,0)


Sollte das nicht vielleicht heißen:

Code: [AUSKLAPPEN]
ImagesCollide (MouseCursor, X,Y,0,OptionButton, boxX,boxY,0)


Question


Ehm jo danke, habsch voll verpennt. xD
Hirn an Memo->Nichmehr so spät proggen.

@Smily: X und Y sind als MouseX und MouseY deklariert.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group