Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 06-01-2005, 15:41   #1 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 42
_root Problem im HauptFilm

Hi all

Was mache ich....


habe ein Hauptfilm, per AS "loadMovie" lasse ich eine externe SWF Datei importieren.


Das Problem,


Hauptfilm hatt einige _root Befehle sowie
das importierte MC einige _root befehle
( _root.gotoAndStop(905); ) hatt.

Beim Veröffentlichen bekommt man logischerweise auch das Ergebniss,
beim Clicken von Buttons da wo man die Befehle wie
( _root.gotoAndStop(905); ) sind, kommt nix bzw nicht das was kommen soll.



Fazit



Mit ist klar das das Importierter MC nicht der _root ist sondern der Hauptfilm. Das heisst wen ich im importierten MC wohin Clicke, ich auf den Hauptfilm verwiesen werde.



Jetzt meine Frage wie kan man das umgehen bzw abändern das Jeder MC für sich arbeiten würde.
Kan man nicht das Importierte MC einfach anders deklarieren.



Ich freue mich auf Baldige Antwort



MFG
d4rk1 ist offline   Mit Zitat antworten
Alt 06-01-2005, 15:59   #2 (permalink)
Pending…
 
Benutzerbild von psyk
 
Registriert seit: Jul 2002
Ort: Hamburg
Beiträge: 3.866
Benutze eine Container-MC, d.h. ein leeres Symbol, was du auf der Bühne platzierst und ne Instance verpasst (container_mc) und da lädtste dann dein Content rein.
ActionScript:
  1. _root.container_mc.loadMovie("bla.swf");
  2. // : ansprechen des MC's
  3. _root.container_mc._alpha=50;
  4. //wenn dort weitere Instancen vorhanden sind
  5. _root.container_mc.instanceName_mc._alpha=50;

PS: Ein bissel mit dem Texteditor gespielt was.
__________________
:: Warum einfach, wenn's auch kompliziert geht! ::
psyk ist offline   Mit Zitat antworten
Alt 06-01-2005, 17:24   #3 (permalink)
User
 
Benutzerbild von jeypack
 
Registriert seit: Sep 2003
Ort: Essen
Beiträge: 616
Zitat:
Zitat von d4rk1
Was mache ich....habe ein Hauptfilm, per AS "loadMovie" lasse ich eine externe SWF Datei importieren...Das Problem, Hauptfilm hatt einige _root Befehle sowie
das importierte MC einige _root befehle...beim Clicken von Buttons da wo man die Befehle wie
( _root.gotoAndStop(905); ) sind, kommt nix bzw nicht das was kommen soll...Jetzt meine Frage wie kan man das umgehen bzw abändern ...Kan man nicht das Importierte MC einfach anders deklarieren.
Die importierten MC's dürfen nicht mit _root arbeiten, das ist das Problem.
Wenn du mit Filmen arbeitest, die du zur Laufzeit dazulädst, dann darfst du in diesen Mc's nicht '_root' verwenden. Hast du ja auch schon erkannt.

Da nützt dir auch ein 'Container' nix, _root bezieht sich immer auf die maintimeline.

-----------------------
Was du machen kannst ist:

Ändere alle Pfade in den importierten MC's. Wenn du dort '_root' benutzt hast, musst
du nachschauen, wie tief verschachtelt dieser Aufruf etc. ist. Du willst ja mit
'_root' immer auf die Hauptzeitleiste deines importierten MC's erreichen.
Mit _parent gehst du jeweils einen Schritt zurück/nach oben.
__________________
Gruß, Jey!
jeypack ist offline   Mit Zitat antworten
Alt 06-01-2005, 17:34   #4 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
mach folgendes...
in dem movie, den du lädst, ersetzt du nun alle _root anweisungen durch folgende, lokale pfade...

liegt der mc immo auf der hzl ( hauptzeitleiste, also deinem temporären _root VOR dem einladen in den anderen film), dann:

schreibe statt: _root
ActionScript:
  1. this._parent

liegt er eine ebene tiefer, also in einem mc, der wiederum auf der hzl liegt, dann:
ActionScript:
  1. this._parent._parent

usw. und sofort...

oder aber du legst eine globale variable an und in die legst du die zeitleiste ab, die im moment NOCH (also bevor du den film woanders rein legst) dein _root ist... das sieht dann so aus (WICHTIG : script auf diese noch-root-zeitleiste legen):

ActionScript:
  1. _global.sollZeitleiste = this;

jetzt kannst du in deinem movie alle _root-verweise wie folgt ändern:

ActionScript:
  1. // statt
  2. _root.irgendwas = tuwas;
  3.  
  4.  
  5. // jetzt nun:
  6. sollZeitleiste.irgendwas = tuwas;
  7.  
  8. // oder noch genauer:
  9. var path = sollZeitleiste;
  10.  
  11. path.irgendwas = tuwas;



verstanden?


greetz

kelor
kelor ist offline   Mit Zitat antworten
Alt 07-01-2005, 08:28   #5 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 42
Re

THX für die Hilfe...werde mall alles ausprobieren
d4rk1 ist offline   Mit Zitat antworten
Alt 07-01-2005, 08:38   #6 (permalink)
a.k.a maddin79
 
Benutzerbild von madflanderz
 
Registriert seit: Jul 2003
Ort: berlin f-hain
Beiträge: 1.693
es gibt auch eine andere, viel einfachere Möglichkeit. anstatt in einen mc lädst du deinen film auf ein level. dann bleibt root der unterfilmes erhalten und du hast keine probleme. jedes level hat ein "eigenes" root. damit erreichst man quasi die selbe funktionalität wie MovieClip._lockroot

gruß madFlanderz
__________________
www.madflanderz.de

ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°` _ addicted to bass _ `°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø
madflanderz ist offline   Mit Zitat antworten
Alt 07-01-2005, 09:54   #7 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 42
re

Danke Leute für die Hilfe
die Funktion "this._parent" ist einfach geil :>


das ich nicht früher auf die kamm :>



Danke noch ma
d4rk1 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:54 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele