Default - Verb bei Mausover

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
Benutzeravatar
Fightmeyer
Riesiger Roboteraffe
Riesiger Roboteraffe
Beiträge: 7308
Registriert: 16.12.2004, 22:51
Wohnort: Potsdam
Kontaktdaten:

Default - Verb bei Mausover

Beitrag von Fightmeyer »

Hallo!

Ich möchte gerne, daß sich der Mauszeiger, wenn er sich über ein Object, NPC oder Hotspot befindet, atomatisch in einen bestimmten Mode ändert. Beispielsweise, wenn er über ein Poster bewegt wird, daß sich die Maus dann in den Ansehen-Modus verändert. So daß der Spieler sofort weiß, was er damit machen kann.

Dafür bieten sich ja nun idealerweise die Properties an. Also hab ich ein Property namens Mausart gemacht. 1=gehen; 2 = gucken; 3 = reden;4 = benutzen.

Allerdings hab ich keinen Plan, wie das ganze im global script aussehen muß. Ich weiß nicht, wie ich auf die Property eines Raumelementes aus dem globalen Script zugreifen kann. Kann mir da jemand vielleicht n Codebeispiel geben?!

Danke im Vorraus.
Benutzeravatar
DieFüchsin
Adventure-Gott
Adventure-Gott
Beiträge: 4406
Registriert: 12.03.2004, 16:55

Beitrag von DieFüchsin »

äh soweit ich weiß gibts doch die funktion mouseoverhotspot oder mouseoverobject oder irr ich mich?
Danke, Adventuretreff! <3
Smiley
Hobby-Archäologe
Hobby-Archäologe
Beiträge: 163
Registriert: 28.04.2005, 16:26
Wohnort: Mönchengladbach

Beitrag von Smiley »

in repeatedly_execute:

Code: Alles auswählen

int
mausart,
x = mouse.x,
y = mouse.y;


Hotspot*hotxy = Hotspot.GetAtScreenXY(x, y);    
Character*charxy = Character.GetAtScreenXY(x, y);
Object*objxy = Object.GetAtScreenXY(x, y);


if (hotxy != null)
  mausart = hotxy.GetProperty("Mausart"); //oder wie der/die/das Property heisst

if (charxy != null)
  mausart = charxy.GetProperty("Mausart"); //oder wie der/die/das Property heisst
   
if (objxy != null)
  mausart = objxy.GetProperty("Mausart"); //oder wie der/die/das Property heisst
   
if (mausart == 1)
mouse.Mode = eModeWalkto;

usw.
Benutzeravatar
Fightmeyer
Riesiger Roboteraffe
Riesiger Roboteraffe
Beiträge: 7308
Registriert: 16.12.2004, 22:51
Wohnort: Potsdam
Kontaktdaten:

Beitrag von Fightmeyer »

Ahh! Danke. Das werd ich huete Abend mal ausprobieren.

Was beewirkt eigentlich dieses Malzeichen in Deinem Code. Das hab ich in dem Zusammenhang in AGS überhaupt noch nie gesehen?!
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Den Stern/Asterisk braucht man, wenn man einen der neuen Pointer benutzt. Seit 2.7 kann man nicht nur ints, strings und ähnliche Variablen benutzen, sondern auch z.B. Hotspots. Bei der Erstdeklaration muss zwischen Typ und Name ein * stehen.
Use gopher repellent on funny little man
Benutzeravatar
Fightmeyer
Riesiger Roboteraffe
Riesiger Roboteraffe
Beiträge: 7308
Registriert: 16.12.2004, 22:51
Wohnort: Potsdam
Kontaktdaten:

Beitrag von Fightmeyer »

Hat astrein funktioniert. Ich mußte zwar noch ein wenig rumtricksen, da ich animierte Mauszeiger benutze und er durch den Code die Animation permanent auf Anfang gesetzt hat, aber jetzt funktionierts klaglos. Auch der Curserwechsel auf einem Hotspot oder Objekt funzt. Genauso hatte ich mir das vorgestellt.

Vielen Dank.
Antworten