Prüfen in welchem Canvas die Maus ist?
Übersicht

![]() |
M0rgensternBetreff: Prüfen in welchem Canvas die Maus ist? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo Leute,
Ich habe mal wieder eine kleine Frage zu der MaxGui. Undzwar habe ich verschiedene Canvas in meiner Anwendung. Die Mauskoordinaten und Mausklicks frage ich dauerhaft ab. Außerdem zeichne ich in einem bestimmten Canvas immer ein Rechteck genau dort, wo die Maus ist. Jetzt habe ich folgende Situation: Wenn sich die Maus in einem anderen Canvas befindet, wird trotzdem das Rechteck in dem ersten Canvas gezeichnet. An der Mausposition halt, aber eben an der Mausposition des aktuellen Canvas. Gibt es eine Möglichkeit zu prüfen, ob die Maus sich in einem bestimmten Canvas befindet? Denn ich möchte das Rechteck nur zeichnen, wenn die Maus auch in dem entsprechenden Canvas ist. Da aber die Zeichenroutine unabhängig von allem anderen aufgerufen wird, und auch werden muss, kann ich das nicht über Events regeln. Wäre super wenn da jemand einen Tipp hätte. Lg, M0rgenstern |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn du MaxGui benutzt, regelst du das über Events... EventSource sollte den richtigen Canvas beinhalten. | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie fragst Du denn die Maus dann ab, wenn nicht über Events?
So sieht eine korrekte Lösung aus: BlitzMax: [AUSKLAPPEN] Global WoIstMaus%,MausHit% |
||
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe |
![]() |
M0rgenstern |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ha.
Danke Midimaster. Sowas hab ich gesucht. So muss ich die Zeichenfunktion nicht direkt abhängig von dem Event machen. Aber jetzt habe ich noch eine Frage: Ich hab ein großes Canvas, wo meine Tilemap gemalt wird. Und das Zeichnen wird über einen Timer geregelt. Wenn mein Laptop im Energiesparmodus ist, dann hat das ganze Programm nur noch 15 FPS (Normalerweise sind es 60). Hab ich da Müll programmiert oder ist das in Ordnung? Lg, M0rgenstern Edit: Edit2: Edit unnötig. Hab mich verlesen. |
||
jsp |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich würde auch das Herausfinden in welchem Canvas die Mouse gerade ist auch über Events regeln, weil das ist komplett Mousekoordinaten unabhängig ist und damit ist der Code übersichtlicher und am Ende kann man leichter Änderungen vornehmen und muss nicht immer die Parameter für die Mausabfrage neu definieren:
EVENT_MOUSEENTER wird ausgelöst wenn die Maus ins Canvas hineingeht EVENT_MOUSELEAVE wird ausgelöst wenn die Maus herausgeht -jsp- |
||
Logic Gui Professional a Gui Designer for MaxGui |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group