2016-04-07 11 views
0

Ich versuche, ein Sprite zu Funktion Methode zu senden.Flash AS3 Sprite Breite sendet nicht richtig in Funktion

Allerdings konnte ich nicht Sprite Breite, Höhe .. Ich weiß nicht, warum dies ein Problem machen.

Können Sie mir einen Rat geben?

function mouseClick(evt:MouseEvent) { // click event 
    var s:Sprite = new Sprite(); 
    s.width = 595; 
    s.height = 842; 
    s.x = s.y = 0; 
    addChild(s); 
    dothis(s); 
} 

function dothis(s:Sprite){ 
    trace("s.width : "+s.width + "/s.height : "+s.height); 
    // s.width and s.height returns 0 value always.. 
} 

Wie Sie sehen, habe ich Ergebnisse der Sprite-Breite und Höhe sind 0 immer.

Warum passiert mir das?

+0

möglicherweise doppelt http://stackoverflow.com/questions/5134347/as3-setting-width-and-height-of-a-sprite-container –

Antwort

1

Da Ihre Sprite nichts enthält (vorausgesetzt, es wird später), wird die Breite/Höhe immer Null sein.

Sprite -> Display -> Interactive -> DisplayObject-> Eventdispatcher -> Objekt

Wenn Sie das Sprite-Objekt Vererbung, Breite/Höhe in der DisplayObject Klasse und pro die Hinweise in dieser Klasse ausgesetzt sind, wie folgt vor:

Mit Ausnahme von TextField- und Video-Objekten hat ein Anzeigeobjekt ohne Inhalt (z. B. ein leeres Sprite) eine Breite von 0, auch wenn Sie versuchen, die Breite auf einen anderen Wert zu setzen.

+0

Vielen Dank. Ich versuche jedoch, einen Filmclip (nicht leer) mit addChild in Sprite hinzuzufügen. Ich überprüfe den Wert für Breite/Höhe von Sprite. Das Ergebnis war das gleiche. :( – Richard