Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   как изменить свойство вложенного мувика? (http://www.flasher.ru/forum/showthread.php?t=145887)

Castro 22.10.2010 12:25

как изменить свойство вложенного мувика?
 
Вот так конечно же работает

Код AS3:

var a:Array = [ki,dn];
 
function initBtn(arr:Array):void{
                for(var i:int = 0; i<arr.length; i++){
                        arr[i].addEventListener(MouseEvent.CLICK, playOver);
        }
 
        }
 
 
function playOver(event:MouseEvent){
trace(event.currentTarget.name);
}

Но вот если нужно было подписать или изменить свойство вложенного мувика, то материлось ошибками, что-то типа

Код AS3:

var a:Array = [main.ki,main.dn];
 
function initBtn(arr:Array):void{
                for(var i:int = 0; i<arr.length; i++){
                        arr[i].height = i*100;
        }
 
        }

Есть ли вариант как это решить?

Heavy 22.10.2010 12:31

может это из-за :void ?

Castro 22.10.2010 12:37

Я подозреваю что это из-за точки в том же main.ki и хз как это пофиксить, в кавычки заключить нельзя

cleptoman 22.10.2010 12:57

main.ki и main.dn - это свойства экземпляра..вы уверены, что вы не пытаетесь получить эти мувики по имени?

если ki и dn - это имена инстансов внутри main, то нужно поступать несколько иначе

Psycho Tiger 22.10.2010 13:41

Какими ошибками, нам конечно, не узнать.

Castro 22.10.2010 14:03

Цитата:

Сообщение от cleptoman (Сообщение 944560)
main.ki и main.dn - это свойства экземпляра..вы уверены, что вы не пытаетесь получить эти мувики по имени?

если ki и dn - это имена инстансов внутри main, то нужно поступать несколько иначе

Да, мувик ki вложен в мувик main. Как же тожно в цикле обращаться к массиву с такими именами?

cleptoman 22.10.2010 14:33

Код AS3:

var ki:MovieClip = main.getChildByName("ki") as MovieClip;
var dn:MovieClip = main.getChildByName("dn") as MovieClip;
var a:Array = [ki,dn];

...
либо

Код AS3:

var a:Array = ["ki","dn"];
var mc:MovieClip;
var len:uint = arr.length;
var i:uint;
for(i = 0; i<len; i++){
      mc = main.getChildByName(arr[i]) as MovieClip;
        trace(mc + ", name: " + mc.name);
}



Часовой пояс GMT +4, время: 02:49.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.