Hi,
ich bastele an einer Bilderleiste herum, welche auch mit Testwerten soweit ganz gut funktioniert.
Ich hänge bloß an einer Stelle: Für den Endlosloop der Leiste benötige ich die Breite des Sprites in dem die Bilder geladen werden. Diese muss ich dynamisch auslesen und weiterverarbeiten, da sie mit der Breite der Bilder variieren kann.
Problem ist; dass ich die Breite erst ab einer bestimmten Position im Ablauf korrekt auslesen kann und sie vorher immer 0 ist, obwohl der Sprite gefüllt ist und korrekt in der DisplayList hängt

.
Die Breite wird mir erst korrekt angegeben, wenn ich sie in einer Unterfunktion auslese die über eine MouseEvent ausgelöst wird.
Hat jemand einen Tip für mich, wie ich die Größe des Sprite bereits nach der Instanzierung oder dem Hinzufügen zur DisplayList auslesen kann??
Danke schonmal...
Mein Codeausschnitt der Dokumentenklasse (hier noch mit einer statischen Breitenangabe von 900px):
PHP-Code:
package
{
import flash.display.*;
import flash.text.TextField;
import flash.events.*;
import con_slide;
import btn_slideleft;
import btn_slideright;
public class slideshow extends MovieClip
{
// Variablen
// ____________________________________________________________________________________________________________________________
public var slidecon1:con_slide; // Bildcontainer1
public var slidecon2:con_slide; // Bildcontainer2
public var buehne:* = this;
public var mouse_xpos:int; // Variable für x-Werte der Mausposition
public var step:Number = 0; //
public var pan_breite:Number = 900; // Breites eines/des (Slide-)Containers
public var breite:Number = 755; // Breites der Bühne
public var speed:Number = -15; // Geschwindigkeit und Richtung
public var initspeed:Boolean = true; // Schalter für Initialgeschwindigkeit
//public var getconwidth:Number;
// Dokumentenfunktion (class constructor)
// ____________________________________________________________________________________________________________________________
public function slideshow():void
{
slidecon1 = new con_slide();
slidecon2 = new con_slide();
slidecon2.x = slidecon1.x - pan_breite; // Anfangsausrichtung der beiden Container -> nebeneinander
buehne.addChild(slidecon1);
buehne.addChild(slidecon2);
trace(slidecon2.width); //HIER WIRD MIR IMMER 0 AUSGEGEBEN
buehne.addEventListener(MouseEvent.MOUSE_OVER, init); // EventListener + Fkt. für Start der mausabhängigen Geschwindigkeit
function init(event:MouseEvent):void
{
initspeed = false;
//getconwidth = slidecon2.width;
trace(slidecon2.width); //HIER WIRD MIR KORREKT 900 AUSGEGEBEN
removeEventListener(MouseEvent.MOUSE_OVER, init);
}
buehne.addEventListener(Event.ENTER_FRAME, slidenow);
}