Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 09-12-2010, 17:20   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2010
Ort: Paris
Beiträge: 66
movieClip austauschen mit AS3

Guten Abend!

Ich frage mich wie man eine movieClip mit einem aderen austauschen kann. Was man sonst ohne Action Script machen kann indem man einen movie Clip anwählt und in dem Eigenschaft Fenster auf dem Knopf austauschen druckt.

Ein movie Clip ist bereits auf der Bühne, wenn man es anklickt soll er durch einen anderen ausgetauscht werden. Der andere movie Clip existiert bereit im der Bibliothek, jedoch noch micht auf der Bühne, hat also noch keine Instanzname.

Bin schon durch die Hilfe und suchen gegangen und fand nicht heraus wie man es machen soll.
Vielen Dank für die Unterstützung!

Billie
Billie ist offline   Mit Zitat antworten
Alt 09-12-2010, 17:27   #2 (permalink)
Neuer User
 
Registriert seit: Dec 2010
Ort: Paris
Beiträge: 66
Ich habe doch ein ähnlichen Thread darüber gefunden:
MovieClip austauschen

und habe gedacht es würde helfen.... Leider geht es nur mit AS1

this.createEmptyMovieClip("MCPlatzhalter", 1);
this.MCPlatzhalter.attachMovie("MC1", "MC1", 1);
this.MCPlatzhalter.attachMovie("MC2", "MC2", 2);

this.MCPlatzhalter.onPress = function() {
this.MC1.swapDepths(this.MC2);
}

createEmptyMovieClip gibt es nicht mehr
attachMovie auch nicht...

Wie kann man also einen MovieClip (in dem speziellen Fall einen Button) mit einem anderen was in der Bibliothek ist austauschen onPress.
Natürlich könnte ich den Button / Down direkt auf der Bühne ändern, aber dann müsste er zurück geändert werden, also so oder so muss es per Action Script sein...

Ideen sind sehr sehr willkommen!!!
DANKE!
Billie

Geändert von Billie (09-12-2010 um 19:38 Uhr)
Billie ist offline   Mit Zitat antworten
Alt 09-12-2010, 20:49   #3 (permalink)
Neuer User
 
Registriert seit: Dec 2010
Ort: Paris
Beiträge: 66
Ideen???
Billie ist offline   Mit Zitat antworten
Alt 09-12-2010, 21:12   #4 (permalink)
Neuer User
 
Benutzerbild von andrelehnert
 
Registriert seit: Oct 2007
Ort: Kölle
Beiträge: 1.624
PHP-Code:
this.createEmptyMovieClip("MCPlatzhalter"1);
this.MCPlatzhalter.attachMovie("MC1""MC1"1);
this.MCPlatzhalter.attachMovie("MC2""MC2"2);

this.MCPlatzhalter.onPress = function() {
this.MC1.swapDepths(this.MC2);

naja, dieser AS2-COde tauscht auch nix aus, sondern legt zwei MCs übereinander und tauscht einfach die Tiefen - beide MCs sind alse permanent existent.
in AS3 wäre dies vielleicht ein Ansatz:
PHP-Code:
var mc1:MovieClip = new MC1(); //das Großgeschriebene ist Dein MC in der Bibliothek, der natürlich auf Export für Actionscript eingestellt sein muß
var mc2:MovieClip=new MC2();
var 
btnSpr:Sprite = new Sprite();//Halter für beide MCs anlegen
btnSpr.addChild(mc1);//mcs in Halter schmeißen
btnSpr.addChild(mc2);
addChild(btnSpr);//Halter auf die Bühne 
btnSpr.addEventListener(MouseEvent.MOUSE_DOWNchangeMc);//ClickEvent setzen

function changeMc(e:MouseEvent){    
    var 
mc:MovieClip MovieClip(btnSpr.getChildAt(1));//den oberen mc finden und casten
    
btnSpr.setChildIndex(mc,0);//Den oberen MC nach unten legen
    

LG ANdré
__________________
Die Hoffnung stirbt zuletzt.
Aber sie stirbt.
andrelehnert ist offline   Mit Zitat antworten
Alt 09-12-2010, 21:36   #5 (permalink)
Neuer User
 
Registriert seit: Dec 2010
Ort: Paris
Beiträge: 66
hey lieber Andre,

ich habe wieder Hoffnung, dass ich es hinkriegen werde, aber gestorben sind gerade meine brennende Augen und dabei mein Verstand!
Ich bedanke mir sehr herzlich bei Dir, ich glaube morgen verstehe ich dann alles und der Tag wird schön sein

Ich muss einfach bald schlafen!!!

Viele Grüße!
Billie
Billie ist offline   Mit Zitat antworten
Alt 09-12-2010, 22:06   #6 (permalink)
Neuer User
 
Benutzerbild von andrelehnert
 
Registriert seit: Oct 2007
Ort: Kölle
Beiträge: 1.624
Gute Nacht!

Hier die mouseDown Function noch n bißchen dynamischer (also auch für
andere genauso strukturierte "Buttons" verwendbar.
PHP-Code:
function changeMc(e:MouseEvent){
    var 
spr:Sprite Sprite(e.currentTarget);    
    var 
mc:MovieClip MovieClip(spr.getChildAt(1));
    
spr.setChildIndex(mc,0);    

LG ANdré
__________________
Die Hoffnung stirbt zuletzt.
Aber sie stirbt.
andrelehnert ist offline   Mit Zitat antworten
Alt 13-12-2010, 11:04   #7 (permalink)
Neuer User
 
Registriert seit: Dec 2010
Ort: Paris
Beiträge: 66
Zitat:
Zitat von andrelehnert Beitrag anzeigen
PHP-Code:
var mc1:MovieClip = new MC1(); 
LG ANdré
Hey André,

Danke für deine Antwort. Das Anlegen der Variabel geht nicht:
"1180: Aufruf einer möglicherweise undefinierten Methode MC1."
In der Bibliothek sind MC1 und MC2, gleich groß.
Eine Instanz von MC1 ist auf der Bühne, unbenannt.

Was ist das Problem?

Danke!
Billie
Billie ist offline   Mit Zitat antworten
Alt 13-12-2010, 11:57   #8 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 7.306
Zitat:
Zitat von Billie Beitrag anzeigen
"1180: Aufruf einer möglicherweise undefinierten Methode MC1."
In der Bibliothek sind MC1 und MC2, gleich groß.
Um diesen Fehler zu vermeiden, musst den beiden MovieClips in der Bibiothek (unter erweiterte Einstellungen) den Klassennamen MC1 bzw. MC2 geben und sie für ActionScript exportieren lassen.

Zitat:
Zitat von Billie Beitrag anzeigen
Eine Instanz von MC1 ist auf der Bühne, unbenannt.
Wenn er schon auf der Bühne liegt, brauchst Du ihn nicht mehr instanzieren (Du kannst also die erste Zeile löschen), sondern musst ihm nur noch den Instanznamen mc1 geben.
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!

Geändert von Martin Kraft (13-12-2010 um 11:58 Uhr)
Martin Kraft ist offline   Mit Zitat antworten
Alt 13-12-2010, 12:12   #9 (permalink)
Neuer User
 
Registriert seit: Dec 2010
Ort: Paris
Beiträge: 66
Danke Martin!
Geht es auch für Schaltfläche anstatt MovieClips?
'MovieClip' mit 'Button' ersetzen hat nicht so geklappt!
Billie
Billie ist offline   Mit Zitat antworten
Alt 13-12-2010, 12:25   #10 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 7.306
Das sollte auch gehen. Nur müsstest Du die Variablen dann als DisplayObject typisieren und nicht als MovieClip.
(Typisieren ist das mit dem : )
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist offline   Mit Zitat antworten
Alt 13-12-2010, 13:41   #11 (permalink)
Neuer User
 
Registriert seit: Dec 2010
Ort: Paris
Beiträge: 66
Danke, kalppt.

Nur wenn ich die Zeile
var mc1isplayObject=new MC1();
entferne (die Instanz mc1 ist schon auf der Bühne)
dann kommt doch so eine neue Instanz an der Ecke von der Bühne.

Ich denke der newSprite deklaration ist das Problem, aber wenn ich es weg mache, dann weisst as3 nicht was btnSpr ist...

Hum, irgendwas fehlt hier, aber was?
Billie 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
MovieClip austauschen Chidi ActionScript 1 11 09-09-2009 08:54
MovieClip Bild austauschen anchelito Flash Einsteiger 5 23-06-2007 15:20
MovieClip austauschen - Sprachumschaltung atek Flash MX 13 20-05-2005 13:44
Movieclip Darsteller austauschen barebone Flash MX 2004 2 14-07-2004 20:53
MovieClip "on the fly" austauschen jamesBond8x4 ActionScript 1 1 03-06-2002 11:17


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:41 Uhr.

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


Copyright ©1999 – 2014 Marc Thiele