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

art_maestro 15.09.2013 16:44

Расклонировать Мувик по горизонтале
 
Здравствуйте

Подскажите, что я делаю не так.
Нужно по горизонтали расклонировать мувик 5 раз, тобиж получится у меня ряд одинаковых мувиков. Я пытаюсь делать это циклом, но нечего не получается. Что я делаю не так?

Код AS3:

for(var i:int = 0; i<5;i++){
var cloneCirle:MovieClip = new MovieClip();
cloneCirle.addChild(mc_centrBg);
cloneCirle.x+=64;
menuItemNewButton.addChild(cloneCirle);
}
stage.addChild(menuItemNewButton);

menuItemNewButton - мувиклип

Azo 15.09.2013 17:09

Привет! У тебя наверное все получилось! Просто мувиклип пустой и ты его не видишь...
Код AS3:

for(var i:int = 0; i<5;i++){
var cloneCirle:MovieClip = new MovieClip();
cloneCirle.graphics.beginFill(0)
cloneCirle.graphics.drawRect(0,0,60,60);
cloneCirle.addChild(mc_centrBg);
cloneCirle.x+=64;
menuItemNewButton.addChild(cloneCirle);
}
stage.addChild(menuItemNewButton);


art_maestro 15.09.2013 21:20

Спасибо огромное! Дело в том, что мувик я беру с библиотеки, в нем есть уже картинка. на сцене отображается только 1 мувик.

Azo 15.09.2013 21:22

Ну тогда покажите правильный код.. В этом коде - не из библиотеки

Wolsh 15.09.2013 21:45

Цитата:

cloneCirle.x+=64;
Ну так они все и встают на х=64. Вы же новый cloneCirle создаете. Его х равен ноль. У всех. Потом увеличиваете этот ноль на 64. У всех.
Код AS3:

cloneCirle.x = 64 * i;


caseyryan 15.09.2013 21:47

Ошибка здесь
Код AS3:

cloneCirle.addChild(mc_centrBg);

mc_centrBg - это экземпляр. Он всего один. Если его добавить в один мувиклип, то он автоматически удалится из другого. Так что невозможно его добавить в несколько мувиков сразу.

art_maestro 15.09.2013 21:52

Код AS3:

var menuItemNewButton:MovieClip = new MovieClip();                        
var mc:Class=getDefinitionByName('bg_centrClass') as Class;
var mc_centrBg:MovieClip = new MovieClip();
mc_centrBg.addChild(new mc);
 
 
for(var i:int = 0; i<5;i++){
var cloneCirle:MovieClip = new MovieClip();
cloneCirle.addChild(mc_centrBg);
cloneCirle.x+=64;
menuItemNewButton.addChild(cloneCirle);
}
stage.addChild(menuItemNewButton);


Wolsh 15.09.2013 21:53

caseyryan О. И это тоже))
art_maestro Вы не исправили ни одной ошибки из двух указанных.
И зачем Вы создаете МувиКлипы? Есть же Спрайт.

art_maestro 15.09.2013 21:54

Цитата:

Сообщение от caseyryan (Сообщение 1146245)
Ошибка здесь
Код AS3:

cloneCirle.addChild(mc_centrBg);

mc_centrBg - это экземпляр. Он всего один. Если его добавить в один мувиклип, то он автоматически удалится из другого. Так что невозможно его добавить в несколько мувиков сразу.

Я понял, сейчас попробую изменить. Спасибо.

Добавлено через 3 минуты
Цитата:

Сообщение от Wolsh (Сообщение 1146247)
caseyryan О. И это тоже))
art_maestro Вы не исправили ни одной ошибки из двух указанных.

Я ошибку понял, просто пока я отвечал, еще комментарий оставили.

Да, буду использовать спрайт! Потом поменяю. я так понял, что строку

Код AS3:

var mc_centrBg:MovieClip = new MovieClip();

надо вставить в цикл.

Wolsh 15.09.2013 22:21

В цикле Вам надо new mc() создавать (если mc это класс мувика в библиотеке).
А уж во сколько там оберток вы его потом запихаете, дело хозяйское (сейчас уже три, кажется? О__о)


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

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