Einzelnen Beitrag anzeigen
Alt 14-03-2010, 14:01   #1 (permalink)
Adlerhorst
Neuer User
 
Registriert seit: Feb 2010
Beiträge: 22
Auslesen der Breite eines Sprites

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.slidecon1.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_OVERinit);    // 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_OVERinit);
            }
            
            
buehne.addEventListener(Event.ENTER_FRAMEslidenow);
            
        } 
Adlerhorst ist offline   Mit Zitat antworten