Zurück   Flashforum > Flash > ActionScript > ActionScript 2

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 04-09-2006, 12:12   #1 (permalink)
Neuer User
 
Registriert seit: Mar 2005
Beiträge: 13
Klasse und MovieClip attachen zeigt immer nur den letzten MovieClip an

Moin,

ich habe ein Problem mit Klassen und MovieClip attachen.

folgende Klasse habe ich geschrieben:

class MenueItem extends MovieClip{

var __name:String;
var __bilder:Array;
var __text:String;

var __subMenue:SubMenue;

var __menueItem_mc:MovieClip;

var __surfaceHeight:Number;
var __surfaceAlpha:Number;

function MenueItem(importXML:XML) {
this.__name = importXML.attributes.name;
this.__bilder = importXML.attributes.bild.split(",");
this.__text = importXML.attributes.beschreibung;

if (importXML.childNodes.length != 0){
this.__subMenue = new SubMenue(importXML.childNodes);
}
}

function placeItem(posY:Number){
this.__menueItem_mc = _root.stage_mc.attachMovie( "menueItem_mc", this.__name, this.getNextHighestDepth(), {_x:0, _y:posY});
this.__menueItem_mc.label_tt.text = this.__name;
}

function show_Data(){
trace(this.__name);
}

}

nun liegt im fla file ein leerer mc "stage_mc".
in einer as datei erzeuge ich 3 instanzen des obigen objektes und in einem_root.stage_mc.onEnterFrame attache ich über die funktion placeItem nun den MC für jedes object (alle 30 frames). aber jedesmal wird der letzte MC gelöscht und zum schluss ist nur der MC meines zu letzt aufgerufenen objectes zu sehen. WARUM?

danke im vorraus
misterbo ist offline   Mit Zitat antworten
Alt 04-09-2006, 13:39   #2 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
Registriert seit: Apr 2002
Ort: Freiburg / Stuttgart
Beiträge: 4.338
du musst die Tiefe in dem MovieClip ermitteln, in dem du auch die neuen MovieClips erstellst, this.getNextHighestDepth wird immer das gleiche liefern ...
__________________
»Carpe diem«, sagte der Graf. (Terry Pratchett: Ruhig Blut!)
Janoscharlipp ist offline   Mit Zitat antworten
Alt 04-09-2006, 14:25   #3 (permalink)
using namespace
 
Benutzerbild von artjom
 
Registriert seit: May 2002
Ort: Hamburg underground
Beiträge: 657
.. um ihm einen anderen namen zuweisen
ActionScript:
  1. function placeItem(posY:Number){
  2. var nDepth:Number=_root.stage_mc.getNextHighestDepth();
  3. this.__menueItem_mc = _root.stage_mc.attachMovie( "menueItem_mc", this.__name+nDepth,nDepth, {_x:0, _y:posY});
  4. this.__menueItem_mc.label_tt.text = this.__name;
  5. }
__________________
artjom.com -|- Melom
Einen PC beschleunigen? Klar, mit 9,81 m/s^2!
artjom ist offline   Mit Zitat antworten
Alt 04-09-2006, 14:55   #4 (permalink)
Neuer User
 
Registriert seit: Mar 2005
Beiträge: 13
AHHHHH!!!

Wie dumm von mir. Das ich das nicht sehe.

das getNextHighestDepth() war schuld. Stimmt.

so gehts
this.__menueItem_mc = _root.stage_mc.attachMovie( "menueItem_mc", this.__name, _root.stage_mc.getNextHighestDepth(), {_x:0, _yosY});

das mit dem this.__name ist schon richtig, da ja von dem objekt instanzen mit unterschiedlichen namen gebildet werden.

KLAPPT. Kopfschüttelübermichselbst

Danke euch vielmals.
misterbo 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 15:59 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele