Wie kann man bei Flash in einer Scene Actionscript so formulieren, dass es in anderen Scenen wirkt und Scenen beim abspielen nicht nur von vorne starten?

Vorab: Wenn es einen besseren Ort bei Wer Weiss Was als „Animation& Video“ gibt oder im Internet ein bekanntes Forum, das ich trotz googeln leider nicht finden konnte, bitte um kurze Info!

Ich mache ein Romm Escape Game mit Flash, also so ne Art Monkey Island-Style Adventure.
Es gibt den Raum Küche, der in einer „Scene“ läuft und den Raum Wohnzimmer, der in einer anderen Szene läuft.

In der Scene Küche gibt es den Backgroundlayer mit dem Foto der Küche, dann einen Objectlayer mit einem Messer,
das man beim draufklicken ins Inventory aufnimmt. Das funktioniert so:

Das Messer in der Küche ist messer1_btn, im Inventory
gibt es Messer2_btn.

Dann im Actionscript von Scene Küche am Anfang:

messer2_mc._visible = false;
messer1_mc._visible = true;

und später
messer1_mc.onPress = function(){
messer2_mc._visible = true;
messer1_mc._visible = false;
messerlocated = „messergefunden!“
}

Es ergibt den Eindruck, als ob man Messer ins Inventory aufnimmt.
So weit so gut.

Problem: Es gibt einen Pfeil-Button in der Küche zum WohnzimmerScene und umgekehrt. Wenn ich einmal ins Wohnzimmer gehe und und zurückkomme,
ist Messer1 wieder sichtbar und Messeer2 nicht, da die Scene von Anfang an abgespielt wird. Ich möchte aber, dass meine Aktionen in den Scenen „gemerkt“ werden!

!.Frage: Versteht ihr, worauf ich hinaus will :-)?
2.Frage: Wie kann ich Aktionen ausführen, die dann auch in anderen Scenen gelten? Bisher ist alles, was ich mache, immer nur in der einen Szene gültig, aber wenn man sie wieder betritt, geht es bei Null los.
3.Frage: Später möchte ich vielleicht auch mal in der Küche einen Schalter drücken, der im Wohnzimmer den Fernseher anmacht. Das heißt, im Wohnzimmer-Actionscript müsste glaube ich stehen, "if in Scene Küche schalter2_mc.visible = true, then in this scene televisiononpicture_mc = visibile.

Ja, ich verstehe, was du meinst :grinning:

Da mein Flash 10 Jahre her ist, musst du meine Antwort schon im voraus entschuldigen:
Ich würde mir behelfen, indem ich eine Kopie der küchenscene machen würde, ohne das erste Messer. Der back-button führt also in die messerlose Kopie, mit der Bedingung, dass das zweite Messer mitgenommen wurde (aber man kommt ja eh nur mit weiter, oder?)

Und die wissen es sicher besser:
Flashforum.de
flashhilfe.de

Das ist eine kreative Idee, aber in diesem Fall ist es wirklich wichtig, dass das Messer Sceneuebergreifend gemerkt wird. Weil ich dann komplexere Dinge machen moechte.

Ich habe uebrigens in der Scene „Kueche“ ein Layer Background, ein Layer objects, ein Layer Actionscript. Bei „Wohnzimmer“ dasGleiche in gruen.
Vielleicht kann ich am Ende eines Actionscripts einen Befehl eingeben sinngemaess "Merke alle Aktionen, die beim Abspielen dieser Scene ausgefuehrt wurden (z.B. Messer1 wurde gedrueckt und damit unsichtbar, dafuer Messer zwei sichtbar) , was alles fuer die Zukunft gemerkt wird. Egal, wie oft ich danach wechsel zwischen den Scenen.

PS: Was meinst du denn mit Back-Button? Bisher habe ich im Wohnzimmer einen Button. Beim Draufklicken wird sinngemaess bei Actionscript gotoAndPlay Scene „Kueche“ ausgefuehrt. Beim Draufklicken auf Kueche wird wiederum bei Actionscript gotoAndPlay Scene „Wohnzimmer“ ausgefuehrt. Ist also kein Backbutton. Gibt es denn sowas wie gotoAndPlay Last played scene? Das koennte auch noch nuetzlich sein (nur nicht fuer dieses Problem).

Ich habe mein Flashhandbuch nicht mehr, kann dir also leider nicht helfen. Ich habe mir manchmal mit gekauften scripts beholfen :smile_cat:, z.b. von istockphoto.com, falls dieser Tipp nicht deine flash ehre beschmutzt.