Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 06-01-2012, 02:13   #1 (permalink)
Neuer User
 
Benutzerbild von Prinzvalium
 
Registriert seit: Jan 2011
Beiträge: 30
Verschwindene MovieClips | Ersetzt

Moin,

ich habe ein kleines Problem. Simpel gesagt: Ich lade ein jpg, schmeiße es in nen MovieClip und haue denn auf die Bühne - soweit so gut. Wenn ich genau das gleiche noch mal mache, verschwindet der MovieClip von vorher. Hier mein Code:

Code:
var loader:Loader = new Loader();
var url:URLRequest;

//Red Knobs

loader.load( new URLRequest("/GUI/knob_red.jpg") );
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, load_red_knob);

function load_red_knob(e)
{
	var red_knobs:Array = new Array();
	
	red_knobs[0] = new MovieClip();
	red_knobs[0].addChild(loader);
	this.addChild(red_knobs[0]);
        //Bis hier alles gut
	
	red_knobs[1] = new MovieClip();
        //Jetzt auch noch
	red_knobs[1].addChild(loader); //Sobald das hier ausgeführt wird, verschwindet der MovieClip von oben.
	this.addChild(red_knobs[1]);
        //Zweiter MovieClip auf der Bühne. Der erste ist weg.

}
Warum wird kein neuer MovieClip erstellt bzw. warum wird er ersetzt?
Und wie kann ich das umgehen?

Fragen über fragen..

Viele Grüße,
PrinzValium
Prinzvalium ist offline   Mit Zitat antworten
Alt 06-01-2012, 03:43   #2 (permalink)
Keine Panik
 
Registriert seit: Apr 2010
Ort: Düsseldorf (im ernst)
Beiträge: 1.868
Zitat:
Warum wird kein neuer MovieClip erstellt bzw. warum wird er ersetzt?
es wird ein neuer MovieClip erstellt, aber kein neuer Loader.
es wird der alte Loader in einen neuen Movieclip gepackt, und der alte MC bleibt leer auf der Bühne zurück.
  • in AS ist für Funktions- und Variablennamen lowerCamelCase üblich
  • bitte Variablen, Funktionen und auch Funktions-parameter Typisieren. Du tust dir damit einen Gefallen, nicht uns.
  • wozu das red_knobs Array? versteh den Sinn nicht.
  • ein MC ist an der Stelle überdimensioniert. Sprites reichen da vollkommen aus.
  • bitte erst Event-Listener hinzufügen, dann das laden starten.

PHP-Code:
var loader:Loader = new Loader();
    
loader.contentLoaderInfo.addEventListener(Event.COMPLETEloadRedKnob);
    
loader.load( new URLRequest("/GUI/knob_red.jpg") );

function 
loadRedKnob(e:Event):void
{
    var 
b:Bitmap Bitmap(loader.content);
    var 
mc1:Sprite = new Sprite();
        
mc1.addChild(b);
    
addChild(mc1);
    
    var 
b2:Bitmap = new Bitmap(b.bitmapData);    //neues Bitmap, selbes BitmapData-Objekt
    
var mc2:Sprite = new Sprite();
        
mc2.addChild(b);
    
addChild(mc2);
}


//verkürzt:
function loadRedKnob(e:Event):void
{
    var 
bd:BitmapData Bitmap(loader.content).bitmapData;
    for(var 
i:inti<2; ++i){
        var 
mc:Sprite = new Sprite();
            
mc.addChild(new Bitmap(bd));
        
addChild(mc);
    }

__________________
greetz Thomas

plz RTFM & Coding Conventions
thomas_E ist offline   Mit Zitat antworten
Alt 06-01-2012, 07:49   #3 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
Wozu überhaupt ein MovieClip oder Sprite? Man kann doch auch einfach direkt das Bitmap auf die Bühne legen!
__________________
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 06-01-2012, 09:00   #4 (permalink)
Neuer User
 
Benutzerbild von Prinzvalium
 
Registriert seit: Jan 2011
Beiträge: 30
Ich habe das jetzt so gelöst:
Vielen Dank an dieser Stelle. :]

Code:
var loader:Loader = new Loader();
var url:URLRequest;

//Red Knobs
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadRedKnob);
loader.load( new URLRequest("/GUI/knob_red.jpg") );

function loadRedKnob(e:Event):void
{
	var red_knobs:Array = new Array();
	var bd:BitmapData = Bitmap(loader.content).bitmapData;
	
	red_knobs[0] = new Sprite();
	red_knobs[0].addChild(new Bitmap(bd));
	this.addChild(red_knobs[0]);
	
	red_knobs[1] = new Sprite();
	red_knobs[1].addChild(new Bitmap(bd));
	this.addChild(red_knobs[1]);

}

Zitat:
Zitat von thomas_E Beitrag anzeigen
  • wozu das red_knobs Array? versteh den Sinn nicht.
Ich packe die in ein Array, damit ich sie alle einzelnt ansprechen kann (als Buttons). Und will die in eine for-Schleife packen um eine bestimmte anzahl zu erstellen. Die beiden Blöcke habe ich nur gemacht, um erst mal zu probieren.

Grüße,
PrinzValium
Prinzvalium 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
xml: < > & " werden mit entities ersetzt echo5-7 ActionScript 2 2 14-03-2008 18:43
Vista Problem / Grafik ersetzt ? Ren Hoek Flash Einsteiger 4 28-02-2008 11:07
Suchskript ersetzt Wort Goya PHP und MySQL 7 16-07-2006 08:09
variablen zu langsam ersetzt ben80 Flash MX 1 12-11-2004 15:12


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:40 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele