Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „gotoAndStop nach droptarget wird nicht gespeichert“

D

Daoud

Guest

Hey!
Ich habe folgendes Problem: ich will per drag and drop einen Schlüssel auf eine Tür ziehen, damit diese sich öffnet. Funktioniert auch. Nur bleibt die Tür nicht offen, wenn ich von einer anderen Ansicht wieder zur Tür zurückkehre. Was muss ich tun, damit die Tür nach einmaligem Benutzen des Schlüssels offen bleibt?
Das funktioniert, wenn ich bei der Tür (MC) folgendes schreibe:

onClipEvent (load) {
this.tabEnabled = false;
if (_global.door == 1) {
this.gotoAndStop(2);
}
}

und gleichzeitig beim Schlüssel
_global.door = 1;

Nur, dann kann ich den Schlüssel auch in einem anderen Frame benutzen und die Tür öffnet sich trotzdem...

fla:

Actions (Schlüssel):

onClipEvent (load) {
this.tabEnabled = false;
this._visible = false;
orig_x = this._x;
orig_y = this._y;
}
on (press) {
this.startDrag();
}
on (release) {
this.stopDrag();
this._x = orig_x;
this._y = orig_y;
if (eval(this._droptarget) == _level0.door) {
_level0.door.gotoAndStop(2);
_global.inv_key = 1;
// _global.door = 1;
// die Tür bleibt zwar offen, aber leider kann man den Schlüssel auch in jedem beliebigen Frame benutzen
}
}
 

D

Daoud

Guest

AW: gotoAndStop nach droptarget wird nicht gespeichert

Ich versuche es nochmal, habe mich wohl etwas umständlich ausgedrückt.
Zwei MCs mit instance names "door" und "key"
MC key:

on (release) {
this.stopDrag();
this._x = orig_x;
this._y = orig_y;
if (eval(this._droptarget) == _root.door) {
_root.door.gotoAndPlay(2);}

Nun öffnet sich die Tür nur dann wenn ich den Schlüssel über die Tür ziehe. Sobald ich den Frame aber verlasse und wiederkomme ist sie wieder zu.
Deshalb habe ich einen array namens _global.dooropen hinzugefügt. Der Code sieht jetzt so aus:
....
if (eval(this._droptarget) == _root.door) {
_root.door.gotoAndPlay(2);
_global.dooropen = 1;

Die Tür bleibt zwar offen, doch leider öffnet sie sich jetzt auch, wenn ich in einem anderen Frame den Schlüssel ziehe (was davor nicht der Fall war)...

Code vom MC "door":

onClipEvent (load) {
if (_global.dooropen = 1) {
this.gotoAndStop(2);
}
}

Wär super, wenn mir jemand behilfreich wäre, lasse mich auch gerne auslachen ;)
 
Zuletzt bearbeitet von einem Moderator:

4uwak

WEB?ViDEO?FOTO and more

AW: gotoAndStop nach droptarget wird nicht gespeichert

also mache das alles doch viel einfacher mit, hitTest
PHP:
//schlüssel code
on(release){
this.hitTest(door){
_parent.door.doorOpen=true;}
}

//code tür
on(load){
this.doorOpen=false;
}
on(enterFrame){
if(this.doorOpen==true){
this.gotoAndStop("2");
}
}

der code ist nur beispielhaft, aber damit gehts 100%tig.

Gruß Super4uwak
 
D

Daoud

Guest

AW: gotoAndStop nach droptarget wird nicht gespeichert

also mache das alles doch viel einfacher mit, hitTest
der code ist nur beispielhaft, aber damit gehts 100%tig.

Gruß Super4uwak


Hmmm, danke für die Antwort. Leider funktioniert das immer noch nicht. Ich habe jetzt folgendes:
PHP:
//Schlüssel Code
onClipEvent (load) {
    this.tabEnabled = false;
    this._visible = false;
    orig_x = this._x;
    orig_y = this._y;
}
on (press) {
    this.startDrag();
}
on (release) {
    this.stopDrag();
    this._x = orig_x;
    this._y = orig_y;
    this.hitTest(door);
    _parent.door.doorOpen = true;
}

//Tür Code
on (load) {
    this.doorOpen = false;
}
on (enterFrame) {
    if (this.doorOpen == true) {
        this.gotoAndStop(2);
    }
}
Muss ich "doorOpen" noch irgendwo deklarieren, wenn ja wo?
 

4uwak

WEB?ViDEO?FOTO and more

AW: gotoAndStop nach droptarget wird nicht gespeichert

ändere mal folgendes
PHP:
on (release) {
    this.stopDrag();
    this._x = orig_x;
    this._y = orig_y;
    this.hitTest(door);
    _parent.door.doorOpen = true;
}
//das ist dann die richtige schreibweise
on (release) {
    this.stopDrag();
    this._x = orig_x;
    this._y = orig_y;
    if (this.hitTest(door)){
    _parent.door.doorOpen = true;
}
}
kannst du mehr über die function hitTest erfahren
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
175.189
Beiträge
2.582.079
Mitglieder
67.258
Neuestes Mitglied
SaschMasch1312
Oben