Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 24-09-2005, 23:24   #1 (permalink)
ricki
 
Registriert seit: Sep 2005
Ort: Edingen-Neckarhausen (10 km vor Heidelberg)
Beiträge: 6
(Anfänger)Problem mit Verschachtelung zweier Movieclips

Hallo,

bin Anfänger und schlage mich seit längerem mit folgendem Problem
herum:
Ich habe ein Movieclip (wolken), der aus einem Bild besteht.
Mit folgendem Code lasse ich dieses Bild testweise
über die Bühne wandern:

[as]var gAry = [];
gAry.push(_root.attachMovie("wolken", "wolken1",1));
gAry[0]._x = 300;
gAry[0]._y = 100;
gAry[0].gotoAndStop(2);
_root.onEnterFrame = function() {
gAry[0]._x += 2;
}

Einen zweiten Movieclip (flux.swf) möchte ich nun eine Ebene darüber legen so dass der Movieclip wolken.swf im Hintergrund abläuft.

Ich habe schon verschiedene Möglichkeiten ausprobiert, aber ich bekomme es nicht hin. Entweder bewegt sich der Hintergund-mc garnicht mehr und nur noch der Vordergrund oder der Hintergrund und der Vordergrund-mc laufen ab, wobei der Hintergrund-mc immer im Vordergrund liegt (ließ sich auch nicht durch verschiedene swapDepth-Versuche ändern).

Mein Verdacht ist, dass die Funktion onEnterFrame das Anzeigen eines zweiten mc im Vordergrund verhindert. Liege ich da richtig?
(Hochladen des Quellcodes klappte leider nicht...)

Es wäre wirklich toll, wenn mir da jemand weiterhelfen könnte. Ich stecke komplett fest.

Geändert von erikmorando (24-09-2005 um 23:29 Uhr)
erikmorando ist offline   Mit Zitat antworten
Alt 25-09-2005, 00:56   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.321
_root.loadMovieNum('flux.swf',2);
also das swf in _level2 laden (nr ist egal, hauptsache grösser 0)
oder
_root.createEmptyMovieClip('flux',2);
_root.flux.loadMovie('flux.swf');
einen container erzeugen, der über den wolken liegt und da dein flux reinladen.

ich weiss nicht, wieviele wolken bei dir so rumschwirren, aber bei nur einer wolke, gehts auch so:
ActionScript:
  1. var wolke=_root.attachMovie("wolken", "wolken1",1, {_x:300, _y:100});
  2. wolke.gotoAndStop(2);
  3. wolke.onEnterFrame = function() {
  4. this._x += 2;
  5. }
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (25-09-2005 um 01:02 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 25-09-2005, 07:10   #3 (permalink)
ricki
 
Registriert seit: Sep 2005
Ort: Edingen-Neckarhausen (10 km vor Heidelberg)
Beiträge: 6
#hgseib

Vielen Dank für Deine Antwort. Um die Uhrzeit habe ich garnicht mehr
damit gerechnet. Arbeitest Du durch???

Habe Deinen Vorschlag aufgenommen und folgendermassen eingearbeitet:

[as]var gAry = [];
gAry.push(_root.attachMovie("wolken", "wolken1",1));
gAry[0]._x = 300;
gAry[0]._y = 100;
gAry[0].gotoAndStop(2);
_root.onEnterFrame = function() {
gAry[0]._x += 2;
}

_root.createEmptyMovieClip('flux',2);
_root.flux.loadMovie('flux.swf');

Jetzt ist es so, dass 'flux' tatsächlich über 'wolken' liegt.
Das Problem ist jedoch weiterhin, dass 'flux' sich bewegt (also
animiert abläuft), 'wolken' aber nicht mehr.
Lasse ich wolken alleine ablaufen, funktioniert es.

Geändert von erikmorando (25-09-2005 um 07:12 Uhr)
erikmorando ist offline   Mit Zitat antworten
Alt 25-09-2005, 10:43   #4 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.321
*
Angehängte Dateien
Dateityp: zip wolken.zip (13,3 KB, 9x aufgerufen)
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 25-09-2005, 12:23   #5 (permalink)
ricki
 
Registriert seit: Sep 2005
Ort: Edingen-Neckarhausen (10 km vor Heidelberg)
Beiträge: 6
Thumbs up

#hgseib

Vielen, vielen Dank für Deine Mühe. (Jetzt habe ich auch erkannt
mit wem ich es zu tun habe. seibsprogrammladen war mir
bereits ein begriff, von Dir hatte ich den ersten Code des
bewegten Wolkenhintergrunds. Prima Webseite!)
Aufgrund Deiner Beispieldatei weiss ich jetzt auch, welchen Fehler
ich gemacht hatte:

[as]var gAry = [];
gAry.push(_root.attachMovie("wolken", "wolken1",1));
gAry[0]._x = 300;
gAry[0]._y = 100;
gAry[0].gotoAndStop(2);
_root.onEnterFrame = function() {
gAry[0]._x += 2;
}

Dort habe ich analog Deinem Code anstelle von _root nun
gAry[0] eingefügt. Ohne das Einfügen eines zweiten
Movieclips funktionierte das auch so. Sobald ich jedoch den
zweiten MC flux einfügte, wurde die Bewegung des
MC wolken geblockt.
Bin Dir wirklich sehr dankbar!
erikmorando 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 08:38 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele