Maniac Mansion Mania Forum

MMM-Werkzeugkiste => Technik => Thema gestartet von: 1mal_volltanken am 10. August 2009, 17:10:13

Titel: Mouseover
Beitrag von: 1mal_volltanken am 10. August 2009, 17:10:13
Hallo!

Wollte mal wissen, was Ihr am besten vorschlagt, wenn es um Mouseover-Effekte geht.

Beispielsweise, wenn Ihr eine Nahansicht eines Objekts oder eine Mapansicht habt bei ausgeschaltetem GUI...

...kann man das ja so machen, dass man beim herüberfahren über die Hotspots/Objekte die Bezeichnung als Text direkt am Cursor eingeblendet wird (wie es bspw. in den Maps von MonkeyIsland gemacht wurde).
Wie würdet Ihr das am besten machen? Würdet Ihr den Namenstext des Hotspots/Objekts als Objekt einblenden lassen oder wäre es besser, dies über den Cursor zu machen?


BG
der Volltanker

 
Titel: Re: Mouseover
Beitrag von: NsMn am 10. August 2009, 17:46:05
Texte sollte man nie als Objekt machen, sondern möglichst immer als Speech oder Overlay.
Titel: Re: Mouseover
Beitrag von: Endres am 10. August 2009, 19:09:28
"Klau" dir doch das GUI-Text-Feld aus dem Inventar GUI (oder wars doch ein separates?) inkl. Code und füg es in nen neuen Cursor-GUI ein. So würd ichs machen ;)
Titel: Re: Mouseover
Beitrag von: 1mal_volltanken am 10. August 2009, 20:23:44

Ich schätze, ich probiers mal mit den Cursorwechsel. Dauert aber noch, bis ich soweit bin. ;)

Danke schon mal bisher. ;)
Titel: Re: Mouseover
Beitrag von: KhrisMUC am 11. August 2009, 03:31:54
Ein Overlay ist die einfachste Lösung:

// room script file

Overlay*cursor_text;

function room_RepExec() {
  Hotspot*h = Hotspot.GetAtScreenXY(mouse.x, mouse.y);
  int w;
  if (h.ID > 0) {
    w = GetTextWidth(h.Name, eFontFont1);
    w = 2 - (4+w)*(mouse.x + w > 319);
    cursor_text = Overlay.CreateTextual(mouse.x+w, mouse.y+2, 150, eFontFont1, 15, h.Name);
  }
  else if (cursor_text != null && cursor_text.Valid) cursor_text.Remove();
}
Titel: Re: Mouseover
Beitrag von: 1mal_volltanken am 11. August 2009, 12:22:04
Thx!

Das sieht doch sehr vielversprechend aus! ;)


BG
der Volltanker