Objekt bzw. Hostspot Details
- Mr. Woodroffe
- Süßwasserpirat
- Beiträge: 432
- Registriert: 28.06.2006, 10:34
- Wohnort: Gersthofen
- Kontaktdaten:
Objekt bzw. Hostspot Details
Hi.
kann mir vielleicht jemand helfen. Ich möchte bei meinem
Spiel das wenn der Cursor über einen Hotspot oder ein Objekt bewegt wird ein kleiner text angezeigt wird wie z.B. wenn der cursor über einem schlüssel ist das dann der text schlüssel über dem objekt erscheint.
Danke schon mal im voraus
kann mir vielleicht jemand helfen. Ich möchte bei meinem
Spiel das wenn der Cursor über einen Hotspot oder ein Objekt bewegt wird ein kleiner text angezeigt wird wie z.B. wenn der cursor über einem schlüssel ist das dann der text schlüssel über dem objekt erscheint.
Danke schon mal im voraus
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
Suche benutzen.
http://www.adventure-treff.de/forum/vie ... php?t=4261
http://www.adventure-treff.de/forum/vie ... php?t=4261
Use gopher repellent on funny little man
-
- Komplettlösungsnutzer
- Beiträge: 13
- Registriert: 28.01.2007, 13:53
- Kontaktdaten:
Sorry dass ich mich hier so einklinke aber ich hatte genau dasselbe Problem. Der Link von eben ist recht hilfreich, allerdings hab ich da noch ein Problem, und egal wo ich suche, ich finde die Lösung nicht:
Ich möchte die Hotspotbezeichnung, also den Text direkt unter dem Cursor anzeigen lassen, also nehme ich an, dass hier der Befehl Visible = Mouse YPos ins Spiel kommt.
Jedoch passiert überhaupt nichts bei Hotspotkontakt, kein Text und kein GUI erscheint, was mach ich da falsch?
Ich möchte die Hotspotbezeichnung, also den Text direkt unter dem Cursor anzeigen lassen, also nehme ich an, dass hier der Befehl Visible = Mouse YPos ins Spiel kommt.
Jedoch passiert überhaupt nichts bei Hotspotkontakt, kein Text und kein GUI erscheint, was mach ich da falsch?
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
Nein, YPos dient dazu, ein GUI ab einer bestimmten Mauskoordinate anzuzeigen. (Wie bei der Symbolleiste im Default Game.)Okami Joe hat geschrieben:Visible = Mouse YPos
Mach ein GUI, stell alle Farben auf 0 und Visible auf Normal.
Ohne Hotspot unterm Zeiger ist "@OVERHOTSPOT@" gleich "", deswegen kann man dann auch keinen Text sehen, das GUI ist sowieso transparent.
In die repeatedly_execute muss dann:
Code: Alles auswählen
gGui.x=mouse.x+3;
gGui.y=mouse.y+10;
Wenn Du Screens mit Hotspots ganz am rechten Rand hast, musst Du wahrscheinlich noch sowas verwenden:
Code: Alles auswählen
if (gGui.x>300) gGui.x=300;
Use gopher repellent on funny little man
-
- Komplettlösungsnutzer
- Beiträge: 13
- Registriert: 28.01.2007, 13:53
- Kontaktdaten:
-
- Komplettlösungsnutzer
- Beiträge: 13
- Registriert: 28.01.2007, 13:53
- Kontaktdaten:
Ich sollte mir abgewöhnen das per copy & paste zu coden
Ich hab mich ein bisschen rumgespielt, ist es nicht möglich den Text automatisch unter dem Cursor zu zentrieren? Bei verschiedener Wortlänge sieht das per x & y Koordination ziemlich mies aus.
Es ist jetzt ein neues Problem aufgetaucht: Da der GUI jetzt unter dem Cursor platziert ist taucht bei Berührung des unteren Bildschirmrands folgende Meldung auf:
"GUI.Y co-ordinates specified are out of range. Remember to use 320-res co-ordinates."
Mir ist klar dass dieser Fehler entsteht, weil der Gui unter dem Cursor den Bildschirmbereich verlässt, wie kann man das verhindern?
Ich nutze die Auflösung 800x600, was will er mir mit 320-res sagen?
Ich hab mich ein bisschen rumgespielt, ist es nicht möglich den Text automatisch unter dem Cursor zu zentrieren? Bei verschiedener Wortlänge sieht das per x & y Koordination ziemlich mies aus.
Es ist jetzt ein neues Problem aufgetaucht: Da der GUI jetzt unter dem Cursor platziert ist taucht bei Berührung des unteren Bildschirmrands folgende Meldung auf:
"GUI.Y co-ordinates specified are out of range. Remember to use 320-res co-ordinates."
Mir ist klar dass dieser Fehler entsteht, weil der Gui unter dem Cursor den Bildschirmbereich verlässt, wie kann man das verhindern?
Ich nutze die Auflösung 800x600, was will er mir mit 320-res sagen?
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
Zentrierung ist möglich, zentrier das Label auf dem GUI, setz die Formatierung auf "center" und plaziere das GUI dann mittig.
Also wenn es z.B. 100 Pixel breit ist, einfach auf mouse.x-50.
320-res heißt es, weil auch bei 640x480 nur die Koordinaten 0-319 bzw. 0-239 verwendet werden.
Bei 800x600 wären das 0-399 und 0-299.
Da die Maus sowieso genau wie das GUI mit den 400x300er-Koordinaten arbeitet, muss man nichts umrechnen, aber Du musst eben auch bei der y-Koordinate eine Abfrage einbauen, die verhindert, dass der Wert zu groß wird.
Also wenn es z.B. 100 Pixel breit ist, einfach auf mouse.x-50.
320-res heißt es, weil auch bei 640x480 nur die Koordinaten 0-319 bzw. 0-239 verwendet werden.
Bei 800x600 wären das 0-399 und 0-299.
Da die Maus sowieso genau wie das GUI mit den 400x300er-Koordinaten arbeitet, muss man nichts umrechnen, aber Du musst eben auch bei der y-Koordinate eine Abfrage einbauen, die verhindert, dass der Wert zu groß wird.
Code: Alles auswählen
Gui*g=gScript-o-name_des_GUIs; // NAME eintragen
int x=mouse.x-g.Width/2;
int y=mouse.y+ABSTAND; // ABSTAND eintragen
if (x<0) x=0;
if (x>(400-g.Width)) x=400-g.Width;
if (y>(300-g.Height)) y=300-g.Height;
g.SetPosition(x, y);
Use gopher repellent on funny little man