PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Lightmaps trotz eigenem Menü in anderer Map



SalvA
11.04.2004, 18:06
Hi,
Ich hätte da ein Problem. Ich könnte jetzt "kleines" Problem sagen, aber da mich dieser Mist nun schon 2-3Wochen auf Trap hält, lassen wir die Verni"e"tlichungen.
Es geht darum, dass ich ein eigenes Menü habe, bei dem der Held als Curser in einer anderen Map benutzt wird. Der Held wird also hin-und hergeportet. Er hat auch jedesmal wieder das richtige Aussehen, ABER
würde ich jetzt in meiner Spiel-Map ein Picture drüberziehen, das eine fixierte Position haben muss (Lightmap), so erscheint das Pic logischerweise nicht mehr dort wo es soll, weil der unvermittelte Teleport des Helden ja die Koordinaten verändert hat (WAAAAAAA!!!).
Naja, es nervt mich halt, dass man heutzutage auf Lightmaps nicht mehr verzichten kann, wenn man ein professionelles Game hindoktern will, und das es wegen meinem Menü nicht funz. Achja, nur so vorneweg: Das Menü kann ich nimmer ändern oder wegfallen lassen, ist zu komplex.

Wenn also jemand eine Idee hätte, wär ich ihm sehr verbunden.
Danke schon mal im Vorraus, wegen dem Anschmeißen der grauen Zellen :-)
thx :-)

SalvA

Manni
11.04.2004, 21:07
Teleportier den Helden erst zu einer festen Position. Du setzt vorher einen Switch auf an. Dieser löst dann einen Autostart Event aus, der erst die Lightmap anzeigt, und den Helden dann an die richtige Stelle setzt. Ich habs nicht ausprobiert, bin also nicht sicher das dat funzt. Hoffes aber :D

Tiny
12.04.2004, 00:28
Mehrere Fragen:
1.Wieso nimmst du den Heldenals Cuorsor?


weil der unvermittelte Teleport des Helden ja die Koordinaten verändert hat

2.Wieso geht das mit der Lightmap nicht?
Wenn du ein Event auf der Map machst die das Licht
nach den Koordinaten den Helden anzeigt ist das doch kein Problem (oder?). Bevor der Held in das Menü Teleportiert wird
speicherst du ja seine Position in Variabeln (Memorize Place)
und wenn er das Menü verlässt wird er an genau dieselbe
Stelle Teleportiert(Goto Memorized Place).

Adam
12.04.2004, 00:43
ich hatte das gleiche problem allerdings hab ich drei maps für menü:

und es war keine light map sondern ein nebel und ein dunkel effekt

mach einfach eine map die eine fork bestitzt:

if nebel switch an:
(nebel)[der switch der in den common events den nebel oder das licht anmacht] switch off
und (nebel fork) (nenn es einfach ma so) on


und dann machst du einen teleport der dich in die haupt map teleportiert

auf druck des esc knopfes auls beim verlassen sollst du erst auf eine weitere map kommen (die wie die erste auch leer ist)
dort machst du eine fork:

if nebel fork switch on:
nebel on


das mit dem doppelten switch fürt dazu dass wenn du mal den nebel (oder licht effekt) AUS hast, er beim verlassen des menüs doch angeht!


Ich hoffe du hast es verstanden.. -.-''
Ich mach immer gerne alles so kompliziert..

unter die fork machst du selbstverständlich auch alles andere wie zB das der held zum cursor wird (hab ich auch so)


das grundprinzip dieses menüs findest du auch im ebook unter intentory baukasten

das mit den switches is aber meine idee ;)

MFG Adam



EDIT: ich hab langsam das gefühl ich hatte doch nich das gleiche prob.. -.-''

Manuel
12.04.2004, 00:44
Bevor der Held in das Menü Teleportiert wird
speicherst du ja seine Position in Variabeln (Memorize Place)
und wenn er das Menü verlässt wird er an genau dieselbe
Stelle Teleportiert(Goto Memorized Place).Das ist ja nicht das Problem. Das Problem ist, dass das Lichtpicture nicht korrekt angezeigt wird ;) .

@SalvA: Da gibt's mehrere Möglichkeiten: Entweder musst du per Parallel Event die Koordinaten des Helden überprüfen und ausrechnen lassen, oder - wohl oder übel - in den sauren Apfel beißen und ein neues Menü basierend auf Pictures machen. Eine andere Möglichkeit fällt mir leider nicht ein :( .

Tiny
12.04.2004, 02:31
Das ist ja nicht das Problem. Das Problem ist, dass das Lichtpicture nicht korrekt angezeigt wird .

Dann verstehen wir beide ihn aber unerschiedlich...


ABER
würde ich jetzt in meiner Spiel-Map ein Picture drüberziehen, das eine fixierte Position haben muss (Lightmap), so erscheint das Pic logischerweise nicht mehr dort wo es soll, weil der unvermittelte Teleport des Helden ja die Koordinaten verändert hat (WAAAAAAA!!!).


Für mich hört sich das schon so an als ob er ein Problem
mit den Koordinaten hat...



weil der unvermittelte Teleport des Helden ja die Koordinaten verändert hat (WAAAAAAA!!!).

Das hab ich versucht zu erklären da sich die Koordinaten mit
"Memorize Place" ja nicht verändern...

Tiny

SalvA
12.04.2004, 07:42
Also, erstmal vielen Dank, dass sich so viele mit meinem Problem in so kurzer Zeit beschäftigt haben. Hab ich bislang noch in keinem Forum erlebt. Fühl mich schon wieder ungemein wohl hier :)

Doch leider hat mich das nicht wirklich weitergebracht. Lag vielleicht auch daran, dass ichs bissl blöd erklärt hab.
Tiny hat recht, ich hab das Prob mit den Variablen. Sobald ich den Helden aus der Map rausteleportiere und später (nach Verlassen des Menüs) wieder reinteleportiert, ist die Lightmap an einer falschen Stelle. Vielleicht liegt es ja an dem platzieren der Lightmap und nicht an dem Teleport.
Also: Meine Lightmaps werden beim durchschreiten einer Tür gesetzt. Dort passiert folgendes, wenn man einen Raum verlässt: Teleport in Raum2; TAB "L.Map-Raum1" AUS; Bildzeigen in Raum2;TAB "L.Map-Raum2" AN; das wars, dann kommt der nächste Raum. Wenn man dann von Raum2 (wo man sich gerade befindet) in Raum1 will, passiert dieses, beim Durchschreiten der Tür: Teleport in Raum1; TAB "L.Map-Raum2" AUS; Bildzeigen in Raum1;TAB "L.Map-Raum1" AN;
Das is mein Lightmapsystem, simpel un effektiv, doch leider gehts nicht mit meinem Teleport-Menü:\


Ach ja, noch was zu the_real_Kamui´s Idee mit den Nebelmaps:
Die Idee ist echt gut, aber mit Nebelmaps hab ich ja kein Prob.
Ein nebel kann ja überall sein, aber Licht kann ja nur an einem bestimmten Ort sein (Fenster, Lampe etc.)
Insofern scheint das Licht halt bei mir schon mal aus der Wand oder ner Decke -g- da die Position nicht eingehalten werden kann
:\

Rina
12.04.2004, 09:21
Wenn sich das Picture an den Screen Koordinaten eines feststehenden Events orientiert, sollte das auch mit dem Map Menue funktionieren.

<>ChangeVar: Var[___1: picture x] (Set)-Event Tralala's ScreenX
<>ChangeVar: Var[___2: picture y] (Set)-Event Tralala's ScreenY
<>ShowPicture: ID:1-Lightmap001-(V[___1],V[___2])

Das Picture erscheint immer an der gleichen Stelle, naemlich auf Event Tralala. Du koennstest auch waehrend eines dunklen Screens den Helden zum Eingang teleportieren und danach zu den urspruenglichen Koordinaten, aber das waere wohl zu aufwendig^^

Edit: Wobei die Koordinaten natürlich nach dem Transport zurück aus dem Menü aktualisiert werden müssen, aber vor dem Show Picture Befehl.

SalvA
12.04.2004, 17:57
Hmmm:rolleyes:
jo, das könnte funktionieren.
Vielen Dank ich werds gleich ausprobieren:)

Manni
12.04.2004, 19:16
Das bringt nichts, wenn ich das richtig verstanden habe. Ein Bild wird immer vom Bildschirm ausgehend angezeigt. Oder kann man Pictures auch auf Events anzeigen lassen? Das wäre mir neu. Das Problem ist doch, das man nicht weiß, wo sich der Held beim zurückteleportieren vom Menü befindet. Bei einer Map, die größer als 20x15 ist, kann das Probleme geben, da sich der Bildschirm gegenüber der Map verschiebt. Daran liegt das. Das ist ein Problem, was man nur schwer lösen kann. Ich bin mir aber ziemlich sicher, das die Methode von Rina Uchiyama nicht funktioniert.

SalvA
12.04.2004, 19:27
Manni_the_Dark, hast recht, leider....
ich habs probiert.
Es liegt wirklich daran, dass die Koordinaten immer vom Helden ausgehen:\

EDIT: PS: Deine Page mit den Scripts ist echt gut!

Frägelschö
12.04.2004, 20:04
Rina Uchiyamas Methode funktioniert, du musst nur das Event Tralala dort hinsetzen, wo die Mitte des Bildes sein soll (also wahrscheinlich die Mitte der Map).

SalvA
12.04.2004, 20:41
Naja, aber die Koordinaten der Map ändern sich ja je nach Position des Helden, daher ist die Mitte der Map immer die Position des Helden. Demnach funz net. Probiers aus.

Frägelschö
12.04.2004, 20:55
Nein, die Koordinaten der Map fangen oben links an und hören unten rechts auf, vollkommen egal, wo der Held steht.

Aber in die Variablen müssen Scene X und Scene Y des Events gespeichert werden und nicht X Coordinate und Y Coordinate, also es wird die Position des Events im Vergleich zum Bildschirmausschnitt in Pixeln gespeichert. Also wird das Bild dann genau auf das Event gesetzt.

Manni
12.04.2004, 21:19
Ich habe doch noch eine Möglichkeit gefunden. hat nur 10 Minuten gedauert :D Hier ist der Link zum Script :

>> Script << (http://www.geocities.com/inselmonarchie/0267992561.ZIP )

Evtl. Mit Rechtsklick -> Ziel speichern unter... ausprobieren :D

Ich mache evtl. heute noch eine verbesserte Version, da mir für das Problem mit dem Rand eine Lösung eingefallen ist...

Edit:
Aja... Habs mal ausprobiert. Funzt tatsächlich §doof Nunja. Dann erübrigt sich mei Script wohl *heul* Aber das Bild wird nicht hundertprozentig richtig angezeigt. Ist um acht Pixel verschoben :D

Rina
14.04.2004, 03:42
Original geschrieben von Manni_the_Dark
Aber das Bild wird nicht hundertprozentig richtig angezeigt. Ist um acht Pixel verschoben :D

Wenn Du die 3 Befehle in der Reihenfolge und in ein Parallel Event packst sollte da eigentlich nichts verschoben sein. Oder Move with Map ist deaktiviert (würde ich aber jetzt mal ausschliessen^_~)

Frägelschö
14.04.2004, 05:44
Aber das Bild wird nicht hundertprozentig richtig angezeigt. Ist um acht Pixel verschoben :D
Dann verändere eine Variable doch vor Show Picture um +/- 8.
Das liegt glaube ich daran, dass ein Chara größer als 16*16 ist.

Manni
14.04.2004, 14:46
@ Rina Uchiyama
Das meinte ich nicht. Aber trotzdem Danke :D

@ Frägelschö
Da bin ich selber auch schon drauf gekommen. Aber ich musste ja irgendwas gegen diese einfache Methode sagen ;)

SalvA
14.04.2004, 17:16
-Schnauf- Ich denke mal ich werd nur mit Fogs arbeiten, Lightmaps sind dann doch zu aufwendig. Klar funzt es irgendwie, aber man muss diesen Prozess ja nicht nur einmal im Spiel anwenden, sondern bei fast jeder Map und das raubt einfach zuviel Zeit. Jetzt vestehe ich auch, warum es bei Anikun´s "Mondschein" keine Lightmaps gab. (Ich finde das Spiel ohne jetzt immer besser -g-)

Trotzdem Danke an euch alle;)

Rina
15.04.2004, 03:29
Aufwendig vielleicht und unnötiger Aufwand vielleicht auch ein bisschen ^_~ Naja, wenn man schon viele Lightmaps erstellt hat, wäre es auch möglich ein Common Event zu machen und die entsprechende Lightmap dann per Variable "auswählen" lassen (wobei das auch nicht viel weniger Aufwand bedeuten würde). Soviel dazu^^

NPC Fighter
15.04.2004, 19:54
Original geschrieben von Manuel
Das ist ja nicht das Problem. Das Problem ist, dass das Lichtpicture nicht korrekt angezeigt wird ;) .

@SalvA: Da gibt's mehrere Möglichkeiten: Entweder musst du per Parallel Event die Koordinaten des Helden überprüfen und ausrechnen lassen, oder - wohl oder übel - in den sauren Apfel beißen und ein neues Menü basierend auf Pictures machen. Eine andere Möglichkeit fällt mir leider nicht ein :( .


Bist du der, der das Lightmap Tut geschrieben hat?

Nightmares Sphere
15.04.2004, 23:51
Also, wenn ich das richtig verstanden habe, zeigst du deine Lightmap mit "Move mit Map" an, deshalb verrutsch der Müll. Du musst dir also Koordinaten besorgen, wie die Lightmap von der AUSGANGSPOSITION richtig angezeigt wird. Dann speicherst du die Koordinaten, von wo dein Held aus teleportiert wird. Alles, was du jetzt beim nächsten Anzeigen deiner Lightmap machen musst, ist von der Position des Helden aus NEUE Koordinaten anzuzeigen, sie also runterzurechnen. Du musst dir ja nur vorstellen, das die Position deines Helden einfach nur eine verschobene Variante der Optimalposition der Lightmap ist. Alles, was du machen musst, ist ein bisschen rechnen, und das ist nicht sonderlich viel Aufwand.
MFG Sphere