Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 08.09.2011, 12:14
alex3dsflash вне форума Посмотреть профиль Отправить личное сообщение для alex3dsflash Найти все сообщения от alex3dsflash
  № 1  
Ответить с цитированием
alex3dsflash
[+1.3 30.09.11]
[+ 31.08.11]

Регистрация: Sep 2010
Сообщений: 95
По умолчанию Имя мувиклипа

Доброго дня! Есть класс MyMovieClip;

Есть код:

Код AS3:
var sdd=new MyMovieClip();
sdd.x=250;
sdd.y=250;
addChild(sdd);
КАК это дело засунуть в цикл,

Код AS3:
for (i=1;i<100;i++){}
чтобы получилось 100 клипов (полноценных с новыми именами) :

sdd1,sdd2,sdd3, ........ sdd100

?????

Помогите пожалуйста!


Последний раз редактировалось dimarik; 08.09.2011 в 15:26.
Старый 08.09.2011, 12:47
ChuwY вне форума Посмотреть профиль Отправить личное сообщение для ChuwY Посетить домашнюю страницу ChuwY Найти все сообщения от ChuwY
  № 2  
Ответить с цитированием
ChuwY
 
Аватар для ChuwY

Регистрация: Nov 2009
Адрес: Тула / Москва
Сообщений: 734
Отправить сообщение для ChuwY с помощью ICQ Отправить сообщение для ChuwY с помощью Skype™
Код AS3:
var sdd2=new MyMovieClip();
sdd2 -- это имя переменной, в которой хранится ссылка на этот мувиклип. Это не имя клипа.
Имя клипа это sdd2.name .
Которое в данном случае пустое.

Вам никто не мешает обращаться к мувикам примерно так же, как вы и хотели.

Код AS3:
var mc1 : MovieClip = new MovieClip();
var mc2 : MovieClip = new MovieClip();
var mc3 : MovieClip = new MovieClip();
 
for(var i : int = 1; i <= 3; i++){
  var currMc : MovieClip = this["mc"+i]; 
}
__________________
9 из 10 голосов в моей голове сказали наркотикам "НЕТ"
Мои ачивки: художник-паразит.


Последний раз редактировалось ChuwY; 08.09.2011 в 12:51.
Старый 08.09.2011, 12:50
alex3dsflash вне форума Посмотреть профиль Отправить личное сообщение для alex3dsflash Найти все сообщения от alex3dsflash
  № 3  
Ответить с цитированием
alex3dsflash
[+1.3 30.09.11]
[+ 31.08.11]

Регистрация: Sep 2010
Сообщений: 95
Спасибо! Щас попробую!

Добавлено через 4 минуты
А... Понял. А тогда как в цикле создать динамично кучу переменных
mc1, mc2, mc3, итд?

Старый 08.09.2011, 13:00
BezDelnik вне форума Посмотреть профиль Отправить личное сообщение для BezDelnik Найти все сообщения от BezDelnik
  № 4  
Ответить с цитированием
BezDelnik

Регистрация: Jul 2008
Сообщений: 80
Отправить сообщение для BezDelnik с помощью ICQ
Код AS3:
for(var i:int=0; i<3; i++) {
    this['mc'+i] = new MovieClip();
}

Старый 08.09.2011, 13:01
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 5  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Не обращайтесь к клипам по имени и только в крайних случаях при помощи чего-то типа this["mc"+i]; Это медленнее работает и иногда (это случится в самый неприятный момент, конечно) у вас может быть совпадение имён, что плохо ловится.
Делайте массив, складывайте туда.
Код AS3:
var mcArray:Array = new Array();
for(var i : int = 1; i <= 3; i++){
  var currMc : MovieClip = new MovieClip();
  mcArray.push(currMc);
//тут можно сделать addChild(currMc);
}
Обращаться mcArray[i] - i-тый клип.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

Старый 08.09.2011, 13:04
alex3dsflash вне форума Посмотреть профиль Отправить личное сообщение для alex3dsflash Найти все сообщения от alex3dsflash
  № 6  
Ответить с цитированием
alex3dsflash
[+1.3 30.09.11]
[+ 31.08.11]

Регистрация: Sep 2010
Сообщений: 95
Спасибо огромное !!!

Старый 08.09.2011, 13:13
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 7  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
@BezDelnik Ваш способ будет работать только если класс объявлен как dynamic
__________________
...вселенская грусть

Старый 08.09.2011, 13:28
alex3dsflash вне форума Посмотреть профиль Отправить личное сообщение для alex3dsflash Найти все сообщения от alex3dsflash
  № 8  
Ответить с цитированием
alex3dsflash
[+1.3 30.09.11]
[+ 31.08.11]

Регистрация: Sep 2010
Сообщений: 95
Код AS3:
for(var i:int=0; i<10; i++) {
this['mc'+i] = new MyMovieClip();
Null_mc.addChild(this['mc'+i]);
this['mc'+i].x=i*10;
trace(['mc'+i]);
}
 
mc9.addEventListener(MouseEvent.MOUSE_DOWN,Dragging);
function Dragging(event:Event){
mc9.startDrag(false, new Rectangle(-300, -300, 600, 600));
}

Предупреждение. Действия с кнопками или экземплярами объектов MovieClip не поддерживаются в ActionScript 3.0. Все сценарии, относящиеся к экземплярам объектов будут пропущены.

Старый 08.09.2011, 13:34
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 9  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Не пишите в кадрах. Почитайте Мука или чо. Что-нибудь, как же программмировать блин на флэш. FAQ тутошний например.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

Старый 08.09.2011, 13:37
alex3dsflash вне форума Посмотреть профиль Отправить личное сообщение для alex3dsflash Найти все сообщения от alex3dsflash
  № 10  
Ответить с цитированием
alex3dsflash
[+1.3 30.09.11]
[+ 31.08.11]

Регистрация: Sep 2010
Сообщений: 95
А!!!!!!!!

Надо:

Код AS3:
this.mc9.addEventListener(MouseEvent.MOUSE_DOWN,Dragging);
function Dragging(event:Event){
this.mc9.startDrag(false, new Rectangle(-300, -300, 600, 600));
}
Доперло!

Добавлено через 1 минуту
Мука читаю кажд день в метро. Просто c as2 на as3 перехожу с трудом..

Создать новую тему Ответ Часовой пояс GMT +4, время: 19:59.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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