Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 22-09-2005, 19:18   #1 (permalink)
thnkGodImAtheist
 
Benutzerbild von kurthurtig
 
Registriert seit: Nov 2003
Ort: kölle am rhing
Beiträge: 1.853
_level0 problem mit bilderalbum

yosn!
ich hab ein problem mit einem bilderalbum.
im prinzip isses ganz simpel
ich hab mal eins gemacht, was auch funktioniert
ActionScript:
  1. dateiNameStartetMit = "pics/bw_0";
  2. erstesBild = 130;
  3. letztesBild = 145;
  4. aktuellesBild = erstesBild;
  5. dateiname = dateiNameStartetMit+aktuellesBild+".jpg"
  6. loadMovie(_level0.dateiname, _level0.bild);
jetzt habe ich das aber in einen mc (kempen) reingepackt und zack die schwupp tut sich nix mehr.
hab auch schon versucht mit _root.kempen.bild und so, aber hilft alles nicht...
wo liegt mein fehler?
sischer n klacks für euch, aber ich beiß mir die zähne dran aus

Geändert von kurthurtig (22-09-2005 um 19:20 Uhr)
kurthurtig ist offline   Mit Zitat antworten
Alt 22-09-2005, 22:37   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
wo liegt mein fehler?
_level0 zeigt genau wie _root immer auf die Hauptzeitleiste eines Filmes. Wenn du den Film in einen Containerfilm einbettest, zeigt _level0 oder _root auf die Hauptzeitleiste des Containerfilmes und deine Objektpfade stimmen nicht mehr.

Kannst du auch ganz leicht mit ein paar trace-Befehlen nachprüfen:
ActionScript:
  1. loadMovie(_level0.dateiname, _level0.bild);
  2. trace("_level0.dateiname="+_level0.dateiname);
  3. //gibt alleine den richtigen Pfad, im Containerfilm gibt es ein undefined
  4.  
Abhilfe: entweder nur mit relativen Pfaden arbeiten, wie z.B. this._parent etc oder mit Pfadreferenzen:
ActionScript:
  1. _global.dieseZeitleiste = this;
  2. loadMovie(_global.dieseZeitleiste.dateiname, _global.dieseZeitleiste.bild);
  Mit Zitat antworten
Alt 23-09-2005, 07:58   #3 (permalink)
thnkGodImAtheist
 
Benutzerbild von kurthurtig
 
Registriert seit: Nov 2003
Ort: kölle am rhing
Beiträge: 1.853
hmmm gut... werd das später nochmal versuchen. danke.
aber noch eine verständnisfrage:
variable werden nicht allgemein, sondern in der zeitleist bzw. mc wo sie benannt werden gespeichert? also gibt es nich so eine art bibliothek, sondern man muss jede einzeln ansteuern?
und noch was:
_level0 und _root sind ja nicht das gleiche oder?!?
ich hatte das so gedacht, dass _level0 (bzw. andere nummern) die ebene angibt... also das regelt, was der user nachher sieht und mit dem _root iset ja im prinzip wie mit dem dateimanager-ordnern... wenn ich also einen mc in ein mc einbette ist der doch immer noch _level0 wenn ich ihm nichts anderes zuweise, oder?!?
wo wir grad dabei sind:
ist _global sowas wie ein überordner, der von überall gleichermaßen angesteuert wird? hab des nämlich noch nie gesehen

Geändert von kurthurtig (23-09-2005 um 08:01 Uhr)
kurthurtig ist offline   Mit Zitat antworten
Alt 23-09-2005, 10:09   #4 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
variable werden nicht allgemein, sondern in der zeitleist bzw. mc wo sie benannt werden gespeichert?
Richtig, deswegen musst du z.B. wenn du auf die Variablen eines MCs von der Hauptzeitleiste aus zugreifen willst, den Objektpfad mit dem Instanznamen voranstellen.

Zitat:
_level0 und _root sind ja nicht das gleiche oder?!?
Doch. Ab MX2004 gibt es allerdings die Möglichkeit, die _root-Pfadangabe mit einem lockroot-Befehl "auszuhebeln". Aber ich persönlich bevorzuge saubere Pfadangaben ohne _root...

Zitat:
ich hatte das so gedacht, dass _level0 (bzw. andere nummern) die ebene angibt
Das ist eine Definitionsfrage: Level 0, also die Hauptzeitleiste, hat jede Menge Tiefen, auf denen die Objekte liegen, genaugenommen kann man etwas mehr als eine Million Tiefen referenzieren. Die Tiefen der Bühne heißen Ebenen und fangen bei -16383 an (die Hauptzeitleiste liegt bei -16384). Du kannst das auch selbst feststellen, wenn du auf der Hauptzeitleiste einen trace("Tiefe der Hauptzeitleiste: "+this.getDepth()); setzt. Jede weitere Ebene/Tiefe der Bühne wird einen Wert in Richtung 0 angelegt. Alle Tiefen bis 0 sind statisch, d.h. MCs, die auf diesen Tiefen liegen können nicht mit removeMovieClip gelöscht werden, dazu müssten sie mit swapDepths() auf eine positive Tiefe geschoben werden.

Jeder MC hat allerdings seine eigene Zeitleiste, die unabhängig von der Hauptzeitleiste und anderen Zeitleisten agieren kann. Und da es nur eine Hauptzeitleiste geben kann, kann es bei Nachladeaktionen von MCs/externen Filmen Probleme mit absoluten Pfadangaben wie _level0 oder _root geben, deswegen bieten sich die Pfadreferenzen an...

Zitat:
ist _global sowas wie ein überordner, der von überall gleichermaßen angesteuert wird?
Globale Variablen sind allen Zeitleisten bekannt, du kannst sie sowohl von einem MC aus aufrufen, als von einem anderen Level. Selbst wenn du mit loadMovieNum(xxx,0) deine Hauptzeitleiste überschreibst, die globalen Variablen bleiben davon unberührt.
  Mit Zitat antworten
Alt 25-09-2005, 14:52   #5 (permalink)
thnkGodImAtheist
 
Benutzerbild von kurthurtig
 
Registriert seit: Nov 2003
Ort: kölle am rhing
Beiträge: 1.853
hi!
danke für die ausführliche erklärung, aber irjendswie scheints was ganz was anderes zu sein, denn ich habe folgendes script:

ActionScript:
  1. this.dateiNameStartetMit = "kempen/fotos/mini/kempen0";
  2. this.erstesBild = 100;
  3. this.letztesBild = 101;
  4. this.aktuellesBild = erstesBild;
  5. this.dateiname = this.dateiNameStartetMit+this.aktuellesBild+".jpg";
  6. loadMovie(this.dateiname, this.bild);

jetzt ist was ganz was komisches passiert. ich habe zur probe einfach mal das mc bild (ohne instanznamen!, aber mit dem librarynamen bild) eingefügt und dort eine grafik reingetan. wenn ich das obige script drinlasse sehe ich die grafik nicht, wenn ich sie rausnehme sehe ich die grafik. aber eigentlich steht das script doch in keinem direkten zusammenhang mit der grafik, da der instanzname ja weggelassen wurde.
die pfadangabe habe ich mit trace überprüft: stimmt. das problem muss also an dem ins mc laden liegen...
kurthurtig ist offline   Mit Zitat antworten
Alt 25-09-2005, 14:57   #6 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Versuchs mal mit der MC-Methode von loadMovie:
ActionScript:
  1. this.bild.loadMovie(this.dateiname);
  Mit Zitat antworten
Alt 25-09-2005, 15:10   #7 (permalink)
thnkGodImAtheist
 
Benutzerbild von kurthurtig
 
Registriert seit: Nov 2003
Ort: kölle am rhing
Beiträge: 1.853
auch nicht...
das is aber doch das gleiche in grün oder?!?
hmmmm naja... kannst du dir vorstellen, was ich sonst für einen fehler gemacht habe?!?
ich werd auch noch mal versuchen, die 'checkliste' durchzugehen
kurthurtig ist offline   Mit Zitat antworten
Alt 25-09-2005, 17:39   #8 (permalink)
thnkGodImAtheist
 
Benutzerbild von kurthurtig
 
Registriert seit: Nov 2003
Ort: kölle am rhing
Beiträge: 1.853
verdammt nochmal
ich habs nicht falsch gemacht, allerdings funktioniert es nur online!
kann mir das jemand erklären, dass es weder in der testumgebung noch im externen flashplayer funktioniert, aber online schon?!? mannonman... dafür hock ich hier 6 std und zerbrech mir den kopf
kurthurtig ist offline   Mit Zitat antworten
Alt 25-09-2005, 19:50   #9 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Falsche Pfadangabe, veralteter Release- oder Debug-Player etc.
  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:17 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele