Move mouse?

Das Board für Schwierigkeiten beim Adventure-Machen und zum Melden von Bugs
Post Reply
Motteck
Tutorial Reader
Posts: 50
Joined: 29 Apr 2009, 21:22

Move mouse?

Post: # 74311Post Motteck
22 Aug 2009, 10:55

hiho

hab da ein problem.

beim anklicken eines objektes soll sich die maus Automatisch woanders im Raum hin bewegen. entweder langsam hinbewegen oder sofort an der xy position auftauchen... Das sollte auch nicht durch klicken abgebrochen werden können.

Auserdem wärs schön wenn sich der maus zeiger wärend dessen in z.B. State 2 verändert!


bin für jeden rat dankbar!

Baelavay
PaC-DK God
Posts: 1168
Joined: 04 Jun 2006, 19:24
Contact:

Post: # 74312Post Baelavay
22 Aug 2009, 13:08

Ich weiß nicht mehr ob es beim PaCDK war, aber ein Adventure Maker hat mal einen Befehl gehabt, der den Mausklick auf eine bestimmte Stelle simuliert. Jedenfalls hatte der Befehl bei mir nie funktioniert.

Am besten schaltest du den Mauszeiger auf unsichtbar und benutzt stattdessen ein Objekt, das wie der Zeiger (auf Status 2) aussieht, das du mit Zustand 0 im Überallraum eingefügt hast (oder im Spielraum selbst, falls während der Cursorbewegung der Raum nicht gewechselt wird) und das du dann wie gewünscht bewegst. Hier das Skriptbeispiel, das Objekt heißt hier "Cursor-Obj"

Code: Select all

(* Erstmal die Mausposition in Vaiablen abspeichern, für den Fall, dass man bei deaktivierter Maus die Koordinaten nicht mehr ablesen kann *)

setnum(current-x;[mousex])
setnum(current-y;[mousey])

(* Ersetzen des Mauszeigers mit dem Hilfsobjekt aus dem Überallraum *)

enablemouse(false)
moveobj(Cursor-Obj;[current-x];[current-y];0)
setobj(Cursor-Obj;1)

(* Jetzt die gewünschte Cursorbewegung *)

moveobj(Cursor-Obj; ...)
Die Voraussetzung dafür, dass du das Hilfsobjekt in den Überallraum machen und benutzen kannst, ist, dass während der Cutscene, in der der Cursor bewegt werden soll, der Überallraum auch sichtbar ist (also cutscene(bla;donthide) ). Falls es unerwünscht ist, dass der Überallraum sichtbar ist, kannst du das Hilfsobjekt auch einfach im Zustand 0 in den Spielraum einfügen. Dabei sollte der Raum aber auch nicht gewechselt werden, während der Cursor (bzw. das Hilfsobjekt) bewegt wird, ansonsten musst du vor dem Raumwechsel die Koordinaten des Hilfsobjekts abspeichern und eine Kopie des Hilfsobjekts im 2. Raum auf diese Position bewegen.

Zimond
Der Engine Papa
Posts: 3420
Joined: 06 Apr 2003, 19:34
Location: Krefeld
Contact:

Post: # 74327Post Zimond
22 Aug 2009, 19:14

BTW : Um NUR den Mauszeiger direkt ohne Umschweife zu bewegen geht auch etwas wie :
setnum (mousex ; 200)
setnum (mousey ; 200)

Aber eleganter geht es natürlich mit einem Objekt.

Schiman
PaC-DK God
Posts: 1177
Joined: 20 Dec 2006, 21:48
Contact:

Post: # 74330Post Schiman
23 Aug 2009, 12:09

Wow... das wusste ich nicht. Ich dachte immer mousex und mousey sind readonly variablen^^.

Wie sieht es dann eigentlich mit charx und chary aus? Kann ich die auch mit setnum einfach verändern?

Zimond
Der Engine Papa
Posts: 3420
Joined: 06 Apr 2003, 19:34
Location: Krefeld
Contact:

Post: # 74336Post Zimond
23 Aug 2009, 12:32

nee das geht nicht.

Schiman
PaC-DK God
Posts: 1177
Joined: 20 Dec 2006, 21:48
Contact:

Post: # 74337Post Schiman
23 Aug 2009, 13:43

schad^^... Naja gäb dann wohl Probleme mit der Walkmap und so...
Man kanns ja immer noch mit link realisieren, nur etwas umständlicher.

Post Reply