Was ist hier der Unterschied? (erledigt)

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Ironstorm

Erstklassiger Contest-Veranstalter

Betreff: Was ist hier der Unterschied? (erledigt)

BeitragMo, Aug 30, 2004 20:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi @ all!
Ich wollte es bei meinem Spiel so machen das wenn man mit der Maus über den eingang der Hütte geht das dann dort ein Text erscheint. Also in der Hütte funktionierts aber wenn man in die Hütte will funktionierts nicht. Hier die zwei Codes:
Das was nicht funktioniert:
Code: [AUSKLAPPEN]

If ImagerectOverlap(maus,X,Y,371,175,41,47) Then
Text X,Y-20, "Gehe in die Hütte"
If mousedown(1) then Gosub hütte
endif


Und das hier funktioniert:
Code: [AUSKLAPPEN]

If ImagerectOverlap(maus,X,Y,407,483,113,38) Then
Text X,Y-20, "Verlasse die Hütte"
If mousedown(1) then Gosub Alm
endif


PS: Sagt mir bitte nicht welcher Befehl besser wäre! OK? THX
..:: blackbird design : blackbird photography : Futuro Verde : X-Commander ::..
MacBook | Intel Core 2 Duo 2,1 GHz | 2048 MB RAM | 80 GB HDD | Mac OS X 10.6.2 (Snow Leopard) | Adobe CS4 Design Premium
  • Zuletzt bearbeitet von Ironstorm am Di, Aug 31, 2004 16:42, insgesamt einmal bearbeitet
 

Stinktier

BeitragMo, Aug 30, 2004 20:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Unterscheid ist .......
BSP1: Du springst zur Hütte im Code
BSP2:Du springst zur Alm im Code

Nein Nun mal im Ernst Very Happy Ich werde mal versuchen den Unterschied *hüstel*finden
 

Timo

BeitragMo, Aug 30, 2004 20:21
Antworten mit Zitat
Benutzer-Profile anzeigen
vielleicht liegts ja am "Ü", schreib mal "Gosub huette"
 

Blitzkrieg Bop

BeitragMo, Aug 30, 2004 20:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielleicht macht mousedown(1) Probleme Confused
Mach mal am Anfang:
Code: [AUSKLAPPEN]

If mousedown(1) = true
 mdown = true
elseif mousedown(1) = false
 mdown = false
endif

und frage dementsprechend ab:
Code: [AUSKLAPPEN]

If ImagerectOverlap(maus,X,Y,371,175,41,47) Then
Text X,Y-20, "Gehe in die Hütte"
If mdown = true then Gosub hütte
endif

If ImagerectOverlap(maus,X,Y,407,483,113,38) Then
Text X,Y-20, "Verlasse die Hütte"
If mdown = true then Gosub Alm
endif


Ach und Stinktier, lass doch solche Kommentare, okay?
~ Hey Ho Let's Go ~
 

Stinktier

BeitragMo, Aug 30, 2004 20:47
Antworten mit Zitat
Benutzer-Profile anzeigen
ich versuchs
 

.:_]TRaSh

BeitragMo, Aug 30, 2004 21:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich denke auch dass es am MouseDown(1) liegt.

Nimm beim 1. oder 2. mal MouseHit(1). Also einmal MouseDown(1) und einmal MouseHit(1)!

Wenn man an 2 oder mehreren Stellen im Code MouseDown(1) benutzt, kann es dazu führen, dass immer nur die letzte Überprüfung funktioniert. Da gibt es auch irgendeinen Trick dagegen, weiß ihn aber grad nicht mehr.
[20:17] IMurDOOM: hm irgendwie is die mitte des viehs kaputt
[20:17] TRaSh: ein bisschen
[20:18] DarkAngel: es tut mir irgend wie leid

Hubsi

BeitragMo, Aug 30, 2004 22:46
Antworten mit Zitat
Benutzer-Profile anzeigen
MouseDown() funktioniert auch nach der 10 Millionsten Abfrage noch. Was manchen immer mal wieder Probleme macht ist MozuseHit() Wink Ich vermute das der Fehler an den festgelegten Koordinaten liegt. Halt mal die Maustaste gedrückt und fahr das ganze Bild ab. Nur mal um zu sehen ob er nicht irgendwo rausgeht.
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Markus2

BeitragMo, Aug 30, 2004 23:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich würde vorschlagen das du dir mal ne eigene Funktion machst
für ImageRectOverlap in der du die Parameter als Rechteck
anzeigst und die Mauspos. als Pixel und dann diese Funk. ImageRectOverlap dort aufrufst und den Rückgabewert mit Return
wieder aus deiner Funk. zurück gibst .
Also als Beispiel statt ImageRectOverlap z.B. gImageRectOverlap
und die Parameter kannst du ja in der Statusleiste sehen wenn du
F1 drückst über den Befehl .
Zusätzlich noch mit DebugLog arbeiten und mal ausgeben
wann welche Sub aufgerufen wird .

Und wie Timo sagte sind Umlaute böse Wink

sbrog

BeitragMo, Aug 30, 2004 23:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]


If mousedown(1) = true
 mdown = true
elseif mousedown(1) = false
 mdown = false
endif


ist überflüssig

Code: [AUSKLAPPEN]

mdown = mousedown(1)



tuts auch
 

getlose

BeitragDi, Aug 31, 2004 13:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

If RectsOverlap (mx,my,1,1,371,175,41,47) Then
   Text X,Y-20, "Gehe in die Hütte"
EndIf
If RectsOverlap (mx,my,1,1,407,483,113,38) Then
   Text X,Y-20, "Verlasse die Huette"
EndIf



If MouseDown(1) Then
   If RectsOverlap (mx,my,1,1,371,175,41,47) Then
      Gosub HUETTE
   EndIf
   If RectsOverlap (mx,my,1,1,407,483,113,38) Then
      Gosub ALM
   EndIf
EndIf

Ironstorm

Erstklassiger Contest-Veranstalter

BeitragDi, Aug 31, 2004 16:41
Antworten mit Zitat
Benutzer-Profile anzeigen
hey danke leute! Es war ein leichtsinns fehler. Ich hab ausversehen hütte statt huette geschrieben. Danke für eure mühe!
..:: blackbird design : blackbird photography : Futuro Verde : X-Commander ::..
MacBook | Intel Core 2 Duo 2,1 GHz | 2048 MB RAM | 80 GB HDD | Mac OS X 10.6.2 (Snow Leopard) | Adobe CS4 Design Premium

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group