Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 06-10-2006, 13:25   #1 (permalink)
Neuer User
 
Benutzerbild von Sanjarok
 
Registriert seit: Aug 2003
Beiträge: 62
Instanz in einem Array von aussen steuern?

Hallo,

wie spricht man die Instanz eines Movieclips an, der in einem MC-Array liegt? Mit Array[a].getInstance() schonmal nicht, wie ich herausgefunden habe.. aber wie dann?
Zu meinem Film: Ich komme nicht dahinter, wie ich die Seiten im Pageflip-Programm "von außen" anspreche. Da ich sehe, dass Pageflip allseits ziemlich bekannt ist, gehe ich davon aus, dass es einige kennen..

Das Ziel: Pageflip soll ganz normal laufen, nur stehen unter dem Buch zwei Buttons, einer unter der linken und einer unter der rechten Seite. Wenn man auf den linken button drückt, soll in der linken Seite eine Animation ablaufen, wenn man auf den rechten drückt, läuft rechts die Animation ab.

Ich dachte mir, es so anzugehen: auf dem rechten Button z.B. ist der Code:

on (release) {
_root.playright();
}

Die Funktion playright() wird dort definiert, wo auch der Maincode des Programms steht, und sieht bisher so aus:

function playright () {
trace("PageOrder[page+1]: " + pageOrder[page+1]); // das funktioniert
pageOrder[page+1].getInstance().gotoAndPlay(2); //die jew. Seiten sind also im ersten Frame gestoppt und sollen auf Buttondruck loslaufen.
}

Leider funktioniert das "pageOrder[page+1].getInstance()" nicht. Lange Rede, kurzer Sinn: ich glaube, mir fehlt einfach nur die Möglichkeit, auf die beiden gerade aktuellen Instanzen im Array zuzugreifen. Wer kann mir helfen? Danke!

Liebe Grüße,
Sanjarok
__________________
All those who believe in psychocinesis, raise my hand.
Sanjarok ist offline   Mit Zitat antworten
Alt 06-10-2006, 13:39   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hallo!

Nach ca. dreimal lesen habe ich wahrscheinlich so ungefähr begriffen, worum es geht.
Aber wenn du weißt, auf welcher Seite du bist und Referenzen auf deine MCs geordnet in einem Array stehen, dann mach's doch einfach so hier:
PHP-Code:
dein_array[page].play() 
...wobei ich halt nicht genau weiß, was in "page" gespeichert ist. Denke mal die aktuelle Seitenzahl?
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 06-10-2006, 14:21   #3 (permalink)
Neuer User
 
Benutzerbild von Sanjarok
 
Registriert seit: Aug 2003
Beiträge: 62
Habe ich mich so mißverständlich ausgedrückt? Wenn ja tut es mir leid, auch wenn ich nicht verstehe, was nicht verständlich ist.. vielleicht lassen wir es auch einfach mit Pageflip, meine Frage ist im Grunde viel allgemeiner.


Das Array pageOrder[] ist ein Array aus Movieclips. Leider kann ich so einfach aber nur auf den Namen der darin gespeicherten MCs zugreifen, nicht aber auf die MCs selbst. Das heißt, "PageOrder[page].play()" funktioniert leider nicht. Du greifst damit nur auf den Namen des Movieclips zu, nicht aber auf die Instanz selber.

Ich weiss, dass es für solche Fälle Sachen wie "getInstance()" etc. gibt. Leider habe ich nicht die geringste Ahnung, was ich tun muss, um auf die Movieclips zuzugreifen.. wäre super wenn mir jemand helfen könnte!
__________________
All those who believe in psychocinesis, raise my hand.
Sanjarok ist offline   Mit Zitat antworten
Alt 06-10-2006, 14:37   #4 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Dann musst du, wie gesagt, nicht nur den Namen des MCs ins Array packen, sondern eine Referenz auf den MC.
Beispiel: Der MC heißt mal mc1
PHP-Code:
mc1.stop();
//das hier geht:
var arr = [mc1];
arr[0].play();
//das hier geht auch:
var arr = ["mc1"];
this[arr[0]].play();
//das hier nicht weil mc1 nur ein String ist:
var arr = ["mc1"];
arr[0].play(); 
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 06-10-2006, 15:12   #5 (permalink)
Neuer User
 
Benutzerbild von Sanjarok
 
Registriert seit: Aug 2003
Beiträge: 62
ich glaube, ich verstehe es langsam. Und ich glaube ich habe ein echtes Problem, da der Code des gesamten Programms (es ist sehr viel) darauf beruht, dass das Array nur Namen und keine Referenzen beinhaltet. Dann muss ich mir eben eine andere Lösung ausdenken.. ich vermute deiner Antwort zufolge, dass man die Instanzen, die hinter diesem Array stehen, gar nicht ansprechen kann.

Danke trotzdem, liebe Grüße,
Sanjarok
__________________
All those who believe in psychocinesis, raise my hand.
Sanjarok ist offline   Mit Zitat antworten
Alt 06-10-2006, 15:29   #6 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Doch, geht... hatte ich ja geschrieben. Da muss dann halt ein this oder _root oder was davor, um aus den String aus dem Array umzuwandeln (Pfad sollte eben stimmen).
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 06-10-2006, 17:18   #7 (permalink)
Neuer User
 
Benutzerbild von Sanjarok
 
Registriert seit: Aug 2003
Beiträge: 62
habe alles geschafft, wenn ich auch etwas getrickst habe.. vielen Dank für die Hilfe!!
__________________
All those who believe in psychocinesis, raise my hand.
Sanjarok ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 02:44 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele