Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как создать инстанс MovieClip так, чтобы он не проигрывался автоматически? (http://www.flasher.ru/forum/showthread.php?t=140672)

ignition 04.06.2010 23:29

Как создать инстанс MovieClip так, чтобы он не проигрывался автоматически?
 
Как создать инстанс MovieClip так, чтобы он не проигрывался автоматически? Сейчас как только я делаю:
Код AS3:

var instance_mc:mc=new mc();

сразу же запускается instance_mc. Проверял с помощью trace - добавил в первый и последний фрейм instance_mc: trace("first frame"); и trace("last frame");

easy.proger 04.06.2010 23:33

addFrameScript

ignition 04.06.2010 23:52

Т.е. это вариант с добавлением чего-то типа stop() на первый фрейм?

КорДум 04.06.2010 23:54

А чем просто
Код AS3:

(instance_mc as MovieClip).stop();
(instance_mc as MovieClip).gotoAndStop(1);

не устраивает? Имена классов пишутся с большой буквы.

ignition 04.06.2010 23:55

Вообще задача такая - мне нужно создать массив из MovieClip'ов (картинки и видео) и парентить их под Sprite в нужный момент. Точнее при наступлении некоторого события. Может это проще сделать как-то по-другому?

Добавлено через 15 минут
КорДум
(instance_mc as MovieClip).stop();
дает:
1120: Access of undefined property instance_mc.

КорДум 05.06.2010 00:13

Чегооо? А вы хоть экземпляр класса...какой там у вас... mc создали?

ignition 05.06.2010 00:25

КорДум
Извиняюсь... Была совершенно идиотская ошибка :) Все работает, конечно же. Т.е. stop() - это единственный вариант? И почему не просто: instance_mc.stop();?
Может есть какой-то более правильный способ смены видео, кроме addChild (и removeChild) под Sprite?

КорДум 05.06.2010 00:27

Если нужно сразу же с первого кадра остановить - stop(). Если где-то дальше - как написали во втором посте. Ваш способ тоже правильный, но мой с кастингом (:
Я не понимаю, что за видео и что за смена видео, опишите подробнее.

ignition 05.06.2010 00:40

КорДум
Сейчас суть работы с видео примерно такая:
Код AS3:

var sprite_inst:Sprite = new Sprite();
var mc_inst:mc = new mc();
this.addChild(sprite_inst);
sprite_inst.addChild(mc_inst);
...
sprite_inst.removeChild(mc_inst);

Смена припаренченного к sprite_inst MovieClip'а делается кнопками. Типа nextMovie и prevMovie. Сами MovieClip'ы (точнее их экземпляры) загнаны в массив, и из него подгружаются при нажатии на nextMovie и prevMovie. Короче говоря есть элементы управления, в слое под ними должно проигрываться видео, и менятся в зависимости от состояния элементов управления. Мне показалось логичным кинуть в слой под кнопками спрайт, и в него подсовывить требуемое видео/картинку.

КорДум 05.06.2010 00:45

А, мувики. А то видео...
Если я правильно понял, то можно бы было сделать так: мувики кидать на стейдж, затем менять их глубины так, чтобы элементы управления не были перекрыты. Но не рационально, так? Поэтому лучше способа, чем статично лежащий спрайт с подгрузкой в него объектов, я не найду.


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

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