2016-04-07 2 views
0

Я пытаюсь отправить спрайт на метод функции.Flash AS3 sprite width не отправляется должным образом в функции

Однако я не мог получить ширину спрайта, высоту. Я не знаю, почему это создает проблему.

Не могли бы вы дать мне совет для этого?

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.. 
} 

Как вы видите, я получил результаты ширины и высоты спрайта всегда 0.

Почему это происходит со мной?

+0

возможно дубликат http://stackoverflow.com/questions/5134347/as3-setting-width-and-height-of-a-sprite-container –

ответ

1

Поскольку ваш Sprite не содержит ничего (предполагается, что он будет позже), ширина/высота всегда будет равна нулю.

Sprite -> DisplayObjectContainer -> InteractiveObject -> DisplayObject-> EventDispatcher -> Object

Если следовать Sprite объект наследования, ширина/высота подвергаются в DisplayObject классе и в примечаниях в этом классе:

За исключением объектов TextField и Video, экранный объект без содержимого (например, пустой спрайт) имеет ширину 0, даже если вы попытаетесь установить ширину на другое значение.

+0

Большое спасибо. Однако я пытаюсь добавить мувиклип (не пустой) с помощью addChild в спрайт. Я проверяю значение ширины/высоты спрайта. Результат был таким же. :( – Richard

Смежные вопросы