Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 14-12-2005, 15:05   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 175
_level0, _parent, _root & Co ?!

Das blick ich ja jetzt echt nicht mehr...Wann muss ich denn was einsetzen?

Mein Problem sieht folgendermaßen aus: Ich lade Bilder über
PHP-Code:
this.meinMC.loadMovie("bild.jpg"); 
in meine swf-Datei. Klappt auch super wenn ich den Film teste. Der ist aber nur ein Teil, des Auftritts, den ich gerade am schrauben bin und wird daher in einen anderen Film reingeladen.
Und da klappt das leider schon nicht mehr. Weil er die Bilder dann immer in dem Ordner sucht, wo sich mein Haupt-swf befindet. Sicher, wenn ich die Pfade statisch angeben würde bekäm ich das hin. Aber ich möchte die Datei weitestgehend dynamisch halten, da sie von mehreren Stellen aufgerufen wird und demnach andere Bilder laden soll. Die Bilder liegen im gleichen Ordner wie das swf, das die Bilder aufruft.
Jetzt sagt mir bitte nicht, das ich doch die Suche benutzen soll, denn ich hab mir bestimmt nahezu 100 Beiträge angeschaut und weis bald nicht mehr wo mir der Kopf steht.
*perplex* ist offline   Mit Zitat antworten
Alt 14-12-2005, 15:12   #2 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
aloha!

ab version sieben funktioniert der befehl "_lockroot" schau mal in der flashhilfe nach!

ansonsten:
"_level0 " ist immer der mutterfilm-->haut immer hin, wenn man mutterfilm ansprechen möchte
"_root" ist meistens der mutterfilm, aber sobald da ein film hereingeladen wird, kanns sein, dass _root vom mutterfilm angenommen wird;--> haut net immer hin
"_parent" ist der übergeordnete film/movieclip--> wird auf die dauer unübersichtlich/stressig
Angehängte Dateien
Dateityp: rar pfade.rar (3,6 KB, 10x aufgerufen)
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary
andretti ist offline   Mit Zitat antworten
Alt 14-12-2005, 16:46   #3 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 175
Hallo andretti,
erstmal danke für Deine schnelle Antwort.
Habe inzwischen wieder etwas rumprobiert:
Das mit dem _lockroot hat leider nicht geklappt (trotz MX 2004) obwohl ichs nach Vorgabe eingebaut hab. Wahrscheinlich fehlt in meinem Bildaufruf das _root ?!
Auf die 3 trace Deiner Beispieldatei bekam ich folgendes zurück:
trace(_level0); ergab _level0
trace(_root); ergab _level0.content
trace(tn001._parent); ergab _level0.content
Hilft mir das irgendwie weiter?
*perplex* ist offline   Mit Zitat antworten
Alt 14-12-2005, 16:55   #4 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
Zitat:
Zitat von *perplex*
Auf die 3 trace Deiner Beispieldatei bekam ich folgendes zurück:
trace(_level0); ergab _level0
trace(_root); ergab _level0.content
trace(tn001._parent); ergab _level0.content
Hilft mir das irgendwie weiter?
aloha!

trace ist eines der mächtigsten werkzeuge von flash(meine meinung);
man muss halt ein bisserle damit herumprobieren, um das zu lernen;

bei mir ergab das beispiel:
http://www.small-pages.at/flashforum/pfade.jpg

das"_lockroot" musst du halt richtig anwenden, hat aber unmittelbar mit meinen trace-beispielen nix zu tun;

tracen muss man auch üben;
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary
andretti ist offline   Mit Zitat antworten
Alt 14-12-2005, 17:35   #5 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 175
Zitat:
Zitat von andretti
trace ist eines der mächtigsten werkzeuge von flash(meine meinung);
man muss halt ein bisserle damit herumprobieren, um das zu lernen;...
tracen muss man auch üben;
Hallo andretti,
mit trace an sich bin ich schon bestens vertraut. Hab ich aufgrund meiner mangelnden Programmiererfahrung schon oft eingesetzt und es half mir auch superoft weiter. Ein Hoch auf das trace

Aber Spaß beiseite:
wie kann ich das was mir das trace zurückgibt verwerten?
Ich kann ja schlecht schreiben
PHP-Code:
this._level0.content.meinMC.loadMovie("bild.jpg"); 
*perplex* ist offline   Mit Zitat antworten
Alt 14-12-2005, 17:52   #6 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
was ich immer mache:

ich verwende bei filmen, wo ich weiß, dass ich diese später in einen ndren film reinlade, eine eratzvarible für "_root"

in das erste bild in der hauptzeitleiste:
PHP-Code:
var externFilm this
und dann verwende ich anstelle von "_root" immer "externFilm"

und die ordner-sache:

die chef-swf's und alle sub-swf's sollten alle in einem ordner sein, dann haben chef-swf und sub-swf's den gleichen pfad zu den bildordnern;
anders kenn ich's nicht;
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary

Geändert von andretti (14-12-2005 um 18:08 Uhr)
andretti ist offline   Mit Zitat antworten
Alt 14-12-2005, 18:01   #7 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 175
Zitat:
Zitat von andretti
und die ordner-sache:

die chef-swf's und alle sub-swf's sollten alle in einem ordner sein, dann haben chef-swf und sub-swf's den gelichen pfad zu den bildordnern;
anders kenn ich's nicht;
Hi, für einen Moment dachte ich, dass sei die Lösung. Aber wie schon gesagt, wird dieses swf an verschiedenen Stellen geladen. Die Bilder sind in allen Unterordnern gleich benannt. Nämlich "1.jpg" bis "n.jpg". Woher soll Flash wissen, in welchem Ordner er sich seine Bilder suchen soll, wenn ich keine statische Pfade verwende? Aber eben die möchte ich ja vermeiden

Geändert von *perplex* (14-12-2005 um 18:50 Uhr)
*perplex* ist offline   Mit Zitat antworten
Alt 15-12-2005, 13:18   #8 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 175
Neuer Versuch

Hab mich jetzt dazu durchgerungen den Pfad als Variable zu übergeben.
PHP-Code:
pfad "ordner1/ordner2/";

this.meinMC.loadMovie(pfad "1.jpg"); 
Damit hab ichs wenigstens geschafft diese Bilder zu laden. Stellt sich allerdings ein neues Problem:
Beim Klick auf die Bilder in den einzelnen MCs soll in einem anderen MC (im gleichen Film) ein neues Bild reingeladen/ausgetauscht werden. Dazu hab ich folgendes Scrit geschrieben:
PHP-Code:
on (release) {
    
meinMC2.loadMovie(pfad "2.jpg");

Davon ausgehend, dass Flash auch diesesmal die Bilder im Ordner meines Mainfilms suchen wird. Dem war leider nicht so. Habe dann sämtliche Möglichkeiten ausprobiert (root, parent undundund). In allen denkbaren und undenkbaren Formen.

Aber das einzigste mal wo überhaupt ein Bild ausgetauscht wurde war bei
PHP-Code:
_parent.meinMC2.loadMovie("2.jpg"); 
wenn das Bild direkt im Ordner des Mainfilms liegt.
Ich weiss echt keinen Rat mehr
*perplex* ist offline   Mit Zitat antworten
Alt 15-12-2005, 13:55   #9 (permalink)
Pending…
 
Benutzerbild von psyk
 
Registriert seit: Jul 2002
Ort: Hamburg
Beiträge: 3.866
Der Klassiker.

Link zum Thema:
http://www.flashforum.de/forum/showthread.php?t=12355
__________________
:: Warum einfach, wenn's auch kompliziert geht! ::
psyk ist offline   Mit Zitat antworten
Alt 15-12-2005, 14:03   #10 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
Kannste nicht mal deine Datei- und Ordnerstruktur aufzeigen?

Zitat:
Aber das einzigste mal wo überhaupt ein Bild ausgetauscht wurde war bei

_parent.meinMC2.loadMovie("2.jpg");

wenn das Bild direkt im Ordner des Mainfilms liegt.
Ich weiss echt keinen Rat mehr
Also das mit dem funktionieren dürfte ja wohl klar sein!?
mit onRelease (und all den anderen on-Befehlen) schreibst du ne Anweisung auf einen MC, Button oder was auch immer. Bei der Pfadangabe, gibst du dann mc2.loadMovie an. Dein MC/Button/Objekt geht jetzt davon aus, dass es in sich einen solchen MC/Button/Objekt hat und spricht dieses an (obwohl es nicht existiert). Du möchtest aber bestimmt ein Objekt ansprechen, dass auf der selben Ebene liegt, wie der zu drückende MC/Button/Objekt, also musst du dieses vom Button aus gesehen ansprechen:
Eine Ebene darüber, das "Bruder"-Objekt.

PHP-Code:
on(release) {
     
this._parent.mc2.loadMovie("blabla.swf"7);
     
//mit "this" sprichst du das Objekt an, auf dem das Skript liegt
     //mit "_parent" greifst du auf die übergeordnete Ebene des vorhergehenden Objektes zu (also this)
     //und dann kommt ganz normal der loadMovie-Befehl!

Stell dir das ganze wie einen Baum vor! Du möchtest vom einen Ast aus, den anderen nebendran verändern, damit du aber da hin kommst, musst du zuerst zurück zur Gabelung!
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 15-12-2005, 14:37   #11 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 175
Smile Ich habs!!!

Danke für die Zeit, die Ihr Euch alle genommen habt.

@psyk: Die Beispiele von rena waren Gold wert.
Demnach kam nur "4.b) relative pfadangabe" für mich in Betracht.
Es stellte sich heraus, dass die Variable "pfad" undefined war, obwohl Flash sie just vorher noch verwendet hatte und ich diese für den gesamten Film definiert hatte. Das soll mal jemand verstehen. Naja, jetzt hab ich die gleich mal global definiert.

Nochmals danke!
PS: Wenn jemand eine Erklärung für dieses Mysterium auf Lager hat, immer heraus damit.
*perplex* 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 01:10 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele