Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 25-08-2005, 10:44   #1 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 3
Question Variablen und Funktionen in geladenen Movies ansprechen?

Hallo,

ich habe folgendes Problem mit dem ich leider (trotz tagelangen versuchen, und recherchen, auch in diesem forum) nicht mehr weiterkomme:

Gibt es eine Möglichkeit Variablen, Movieclips und Funktionen, die sich in einem mit Actionscript geladenen mc befinden anzusprechen, und wenn ja welche?

Bisher wars so: ich habe einen movieclip, den ich mehrmals in meinen film laden möchte und mit Actionscript laufend verändern muss.
Lade ich den mc in einen "Container" werden nur die Variablen von diesem angesprochen.
Lade ich den mc auf eine Stufe konnte ich ihn nicht mehr ansprechen.
Auch wenn er mit duplicateMovieClip kopiert wurde wird nur das "Original" nicht aber die kopierten Instanzen angesprochen.

Ich würde gerne wissen: ist so ein ansprechen, auf- oder abrufen überhaupt möglich oder hab ich einfach nur bei meiner Syntax was übersehen?

Vielen Dank für eine Antwort

Gaenschen
Gaenschen ist offline   Mit Zitat antworten
Alt 25-08-2005, 11:30   #2 (permalink)
Neuer User
 
Benutzerbild von trossen
 
Registriert seit: Jan 2005
Beiträge: 169
ich hab mal was darüber gelesen hat das nicht was mit global also globalen variablen zu tun
oder denk ich auch noch dran
wenn du deinen PIC in einen MC umwandelst kannst du einen haken bei (für actionScript verfügbar machen oder so) setzen und dann mußt du die genaue rout haben.
vieleicht hilft dir das ja
trossen ist offline   Mit Zitat antworten
Alt 25-08-2005, 11:43   #3 (permalink)
flash student
 
Benutzerbild von pixelarts
 
Registriert seit: Apr 2005
Ort: Schweiz, Zürich
Beiträge: 527
ja es ist möglich

Flash ist schlussendlich nichts andere als eine verschachtelung von movieclips.
in diesen movieclips kannst du variablen, funktionen, instanzen jeglicher arts speichern. die sind dan auch ansprechbar.

wie auf dem internet oder im briefverkehr, dann jeder Movieclip angesteuert werden, solange man die adresse weiss.

_root = stage, also den tiefsten level
this = aktueller Movieclip
_parent = mutterelement, also ein clip zurück

angenommen du hast:

- auf der bühne ein clip namens "welt"
- darin zwei clips namens "asien" und "afrika"
- im clip "asien" haste "indien" und "tibet"
- im clip "afrika" haste "kenia" und "algerien"

so. jetzt kannst du die element so ansteuern:

zb. den clip alegrien:
_root.welt.afrika.algerien

das ist ein absoluter pfad. das heisst, man geht von der bühne aus. dabei spielt es keine roll, wo du stehts. ob in afrika, kenia oder asien.

zb. den clip algerien von tibet aus:

this._parent._parent.afrika.algerien

dieser pfad ist relativ. das heisst, man geht von dort aus, vo man gerade ist, und gibt kein "_root" an um von einem bestimmten punkt aus zu gehen

nun, wenn du eine variable "hauptstadt" im clip "kenia" hast, kannst sie so ansteuern:

zb. absoluter pfad: _root.welt.afrika.kenia.hauptstadt
zb relativer pfad, von "tibet" aus: this._parent._parent.afrika.kenia.hauptstadt

so gehts auch mit funktionen...
pixelarts ist offline   Mit Zitat antworten
Alt 25-08-2005, 12:10   #4 (permalink)
Flashseppel
 
Benutzerbild von fred am rechner
 
Registriert seit: Sep 2004
Ort: Berlin
Beiträge: 442
ich glaube dein problem liegt darin,. daß du sofort nach dem laden (also in einer der nächsten codezeilen) auf die eigenschaften zugreifen willst. flash braucht aber länger, um sie zu laden, als es braucht, um in die nächste codezeile zu springen.

so sollte es funktionieren

in frame 1:
PHP-Code:
mc.loadMovie("test.swf"); 
jetzt laß flash ein bissel zeit zum laden...

in frame 2 oder noch später:

PHP-Code:

trace
(mc.eigenschaft);//ausgabe: der wert von "eigenschaft" in "test.swf", falls definiert 
fred am rechner ist offline   Mit Zitat antworten
Alt 25-08-2005, 12:15   #5 (permalink)
flash student
 
Benutzerbild von pixelarts
 
Registriert seit: Apr 2005
Ort: Schweiz, Zürich
Beiträge: 527
Zitat:
Zitat von Gaenschen
Hallo,

ich habe folgendes Problem mit dem ich leider (trotz tagelangen versuchen, und recherchen, auch in diesem forum) nicht mehr weiterkomme:

Gibt es eine Möglichkeit Variablen, Movieclips und Funktionen, die sich in einem mit Actionscript geladenen mc befinden anzusprechen, und wenn ja welche?

Bisher wars so: ich habe einen movieclip, den ich mehrmals in meinen film laden möchte und mit Actionscript laufend verändern muss.
Lade ich den mc in einen "Container" werden nur die Variablen von diesem angesprochen.
Lade ich den mc auf eine Stufe konnte ich ihn nicht mehr ansprechen.
Auch wenn er mit duplicateMovieClip kopiert wurde wird nur das "Original" nicht aber die kopierten Instanzen angesprochen.

Ich würde gerne wissen: ist so ein ansprechen, auf- oder abrufen überhaupt möglich oder hab ich einfach nur bei meiner Syntax was übersehen?

Vielen Dank für eine Antwort

Gaenschen

achso, du willst alle copien aufs mal ansprechen? per listener gehts
pixelarts ist offline   Mit Zitat antworten
Alt 25-08-2005, 13:47   #6 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 3
Danke schonmal für die bisherigen Antworten.

zu fred: später abfragen hat das problem leider nicht behoben, hab sogar eine Abfragenschleife eingebaut. Das Aufrufen der Variablen klappt leider trotzdem nicht.


zu pixelarts: nein, ich möchte die Instanzen schon einzeln ansprechen. da ich den einen clip aber mehrmals brauche dachte ich eben über "duplicate" nach.
Mein Problem mit den relativen UND den absoluten Pfaden, die Du erklärt hast ist dass bei meinem Aufbau nicht jeder Film einen Namen hat, ich habe also schwierigkeiten ihn mit nem Namen anzusprechen...

...mein Aufbau ist zur Zeit in etwa so:
in meinen ausgangsfilm start.swf lade ich den Film steuerung1.swf mit loadMovieNum("steuerung1.swf", 10).
In steuerung1 nun lade ich mit ner Schleife den film karte.swf mehrmals auf übereinanderliegende Stufen
loadMovieNum("karte.swf", naechstestufe);.
aus dem mc Steuerung1 will ich nun die geladenen Filme wieder ansprechen. Da die Kartenfilme keinen Namen habe versuche ich es mit _levelX.
versuche ich es z.B. mit trace(_levelx.testvariable); oder auch einen mc, der in "karte.swf" liegt anzusprechen, kommt dann aber leider nichts raus.

Kann mir denken, dass ich irgendwas falsch mache, aber was?

Der Aufbau muss auch nicht so bleiben, da der Inhalt von "karte.swf" aber häufig und von verschiedenen Stellen genutzt wird würde ich das gerne unabhängig lassen. Kennt jemand eine Alternative für den Aufbau?
Gaenschen ist offline   Mit Zitat antworten
Alt 25-08-2005, 14:04   #7 (permalink)
flash student
 
Benutzerbild von pixelarts
 
Registriert seit: Apr 2005
Ort: Schweiz, Zürich
Beiträge: 527
lede die swfs in leere filme

in start.swf:
--------------------------------------------
createEmptyMovieClip("steuerung", 1);
steuerung.loadMovieNum("steuerung1.swf", 1);


in steuerung1.swf
-----------------------------------------
createEmptyMovieClip("karte" + naechstestufe, 1);
steuerung.loadMovieNum("karte.swf", naechstestufe);

Geändert von pixelarts (25-08-2005 um 14:11 Uhr)
pixelarts ist offline   Mit Zitat antworten
Alt 25-08-2005, 15:25   #8 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 3
Super!

Das hat jetzt ENDLICH funktioniert und ich muss nicht mehr durchdrehen.

Dachte ich hab wirklich alles durchprobiert aber auf das laden in leere Filme bin ich nicht gekommen.

Musste es allerdings leicht abwandeln.

in start.swf:
--------------------------------------------
createEmptyMovieClip("steuerung", 1);
steuerung.loadMovie("steuerung1.swf");

in steuerung1.swf
-----------------------------------------
createEmptyMovieClip("karte" + naechstestufe, naechstestufe);
["karte"+naestestufe].loadMovieNum("karte.swf",);

So funktionierts dann aber super.

Vielen Dank!
Gaenschen ist offline   Mit Zitat antworten
Alt 25-08-2005, 15:39   #9 (permalink)
flash student
 
Benutzerbild von pixelarts
 
Registriert seit: Apr 2005
Ort: Schweiz, Zürich
Beiträge: 527
oh, sorry... copy/paste bringt halt seine tücken mit sich
pixelarts 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 10:51 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele