Waitevent()
Übersicht

JeyBetreff: Waitevent() |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo, habe schon mehrere Beiträge zu dieser Funktion gelesen, komme leider immer noch nicht ganz klar.
Waitevent wartet ein event ab und gibt es zurück. Also wenn ich "Waitevent(1)" schreibe, wird dann sobald in der millisekunde ein Event eintrifft dieses ausgegeben oder das letzte in dieser millisekunde? Ich habe irgendwie das Problem dass ich ein Canvas habe, indem eine bewegte Graphik angezeigt werden soll. Nun soll geprüft werden, wo sich darin die maus befindet ( Mit mouseX(Canvas) ). Nur wenn ich nun schnell die maus aus dem Canvas entferne, dann behält die Funktion ja den Wert des punktes, andem die Maus aus dem Canvas ausgetreten ist. Soweit sogut, jetzt könnte ich mit Waitevent(1)=$205/$206 prüfen ob die maus das Canvas verlassen hat oder ob es eingetreten ist. Nur leider funktioniert das so nicht. Kann er nur events während dieser einen Millisekunde speichern? Wenn ja, bedeutet das, dass in der übrigen Hauptschleife keine events entgegengenommen werden können, diese also verloren gehn? Weil das wäre irgendwie schade wenn es um Echtzeitanwendungen geht. Bisher beobachte ich, dass wenn meine Hauptschleife ohne waitevent() etwa 50 millisecs braucht und ich dann ein waitevent(50) einbaue, dass es etwa jedes 2te mal auf ein ereignis wie klicken reagiert? |
||
![]() |
TheProgrammer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Welche Version von BlitzPlus benutzt du? Die Events für das Ein- und Austreten der Maus in einem Canvas gibt es in älteren Versionen noch nicht. (Die aktuelle Version ist 1.42, siehe Rechts ->) Du solltest dein B+ vlt. mal updaten ![]() Mfg TheProgrammer |
||
aktuelles Projekt: The last day of human being |
Jey |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hatte wirklich eine alte Version ![]() Code: [AUSKLAPPEN] ;Can Austritt If mx_can = mx_can_old And my_can = my_can_old Then If mx<>mx_old Or my<>my_old Then mouse_can_collide = 0 EndIf EndIf ;Can Eintritt If mx_can <> mx_can_old Or my_can <> my_can_old Then mouse_can_collide=1 Es wird also einfach geprüft, ob die Maus außerhalb des Canvas noch bewegt wird während die Methoden MouseX( can ) und mouseY( can ) gleich bleiben. Daher weiß man, dass die Maus außerhalb ist. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group