Форум 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=129505)

Denis_ex 03.09.2009 08:23

Остановка анимации всех подклипов в клипе.
 
Здравствуйте.

В клипе car расположены разл. граф объекты (клипы). При запуске флешки подклипы клипа car начинают проигрывать анимацию. Приходится обращаться к клипу car.corpus.stop(); и так ко всем подклипам, что чрезвычайно не уднобно.

Я пробовал сделать так:
Код AS3:

for(var i:int = 0; i<car.numChildren; i++)
car.getChildAt(i).stop();

Но возникает ошибка:

1061: Call to a possibly undefined method stop through a reference with static type flash.display:DisplayObject.

Не совсем пойму проблему в сообщении. Возможно как-то можно по другому изящно обратиться ко всем подклипам и применить stop()?

veisss 03.09.2009 09:18

попробуй так
Код AS3:

for(var i:int = 0; i<car.numChildren; i++){
  MovieClip(car.getChildAt(i)).stop();
}


Denis_ex 04.09.2009 00:53

veisss - спасибо большое, очень выручил, а то столько лишнего когда было!

Кстати, а почему пришлось принудительно приводить к типу (классу) MovieClip, т.е. почему изначально не работало?

iNils 04.09.2009 01:15

getChildAt возвращает DisplayObject, а это и Sprite, и Bitmap, и MovieClip. Но только у мувиклипа есть метод stop ()

Denis_ex 04.09.2009 09:24

все ясно, спасибо всем.

Obi 04.09.2009 10:48

грамотней было-бы, конечно,

Код AS3:

for(var i:int = 0; i<car.numChildren; i++){
  if(car.getChildAt(i) is MovieClip) {
        (car.getChildAt(i) as MovieClip).stop();
  }
}

А то если там окажутся не мувиклип, у вас выпадет ошибка. Ну или хотя бы try-catch заюзайте.


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

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