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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 20.08.2009, 19:59
zzz_dmg вне форума Посмотреть профиль Отправить личное сообщение для zzz_dmg Найти все сообщения от zzz_dmg
  № 1  
Ответить с цитированием
zzz_dmg

Регистрация: Aug 2008
Адрес: moscow
Сообщений: 137
По умолчанию linkage + циклы

простите за глупый вопрос, но ничего не выходит
на ас2 все хорошо работает, когда linkage задаешь мувиклипам, а потом их аттачишь через i
Код AS1/AS2:
var i:Number = 1;
this.attachMovie (['s'+i], 's',1);
а в ас3 как туда "впихнуть" i, чтобы вместо s1 записи делилась на s + i?
Код AS3:
var s:s1 = new s1 ();
this.addChildAt(s);
спасибо

Старый 20.08.2009, 20:32
Dante вне форума Посмотреть профиль Отправить личное сообщение для Dante Найти все сообщения от Dante
  № 2  
Ответить с цитированием
Dante

Регистрация: Feb 2009
Сообщений: 20
Код AS3:
var class : Class = Class( getDefinitionByName("s"+i));
var s:*= new class ();
this.addChildAt(s);
примерно вроде так

Старый 20.08.2009, 22:00
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 3  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
Dante, ну тогда уже так:
Код AS3:
var c:Class = getDefinitionByName( "s" + i ) as Class;
var s:Sprite = new c() as Sprite;
this.addChildAt( s );

Старый 21.08.2009, 01:35
MonkDead вне форума Посмотреть профиль Отправить личное сообщение для MonkDead Посетить домашнюю страницу MonkDead Найти все сообщения от MonkDead
  № 4  
Ответить с цитированием
MonkDead
 
Аватар для MonkDead

Регистрация: Dec 2007
Сообщений: 204
BlooDHounD, Sprite можно хранить в "библиотеке" Возможно вы подразумеваете, что MovieClip наследник Sprite, но все же наверное надо писать MovieClip.
Код AS3:
var c:Class = getDefinitionByName( "mc" + i ) as Class;
var mc:MovieClip = new c() as MovieClip;
this.addChildAt(mc);


Последний раз редактировалось MonkDead; 21.08.2009 в 01:41.
Старый 21.08.2009, 01:48
igrayka вне форума Посмотреть профиль Отправить личное сообщение для igrayka Найти все сообщения от igrayka
  № 5  
Ответить с цитированием
igrayka
[+1.3 21.08.09]
 
Аватар для igrayka

Регистрация: Oct 2007
Сообщений: 39
Отправить сообщение для igrayka с помощью ICQ Отправить сообщение для igrayka с помощью Skype™
Так друзья, это что-то очень круто, а как быть с этим ?

Код AS3:
for(i=1;i<house;i++) {
 
			bigmap["BTN"+i]addEventListener(MouseEvent.ROLL_OVER, BTNrollOverHandler);
			bigmap["BTN"+i]addEventListener(MouseEvent.ROLL_OUT, BTNrollOutHandler);
			}
как добавить слушателей сразу ко всем кнопкам ?


Последний раз редактировалось iNils; 21.08.2009 в 07:18.
Старый 21.08.2009, 02:13
MonkDead вне форума Посмотреть профиль Отправить личное сообщение для MonkDead Посетить домашнюю страницу MonkDead Найти все сообщения от MonkDead
  № 6  
Ответить с цитированием
MonkDead
 
Аватар для MonkDead

Регистрация: Dec 2007
Сообщений: 204
igrayka, наверно самое простое завести массив и в него добавлять ссылки на кнопки, пробегаемся по массиву подписываемся или отписываемся от слушателей.

Старый 21.08.2009, 08:50
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 7  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
MonkDead, чего? Вы в порядке? зачем мне писать мувиклип, если, как вы написали, Sprite Тоже можно хранить в библиотеке, и тем самым один и тот же код у меня подойдёт на обо случая, а ваш придётся переписывать.

p.s.: лично я всегда указываю DisplayObject.

Старый 21.08.2009, 12:29
igrayka вне форума Посмотреть профиль Отправить личное сообщение для igrayka Найти все сообщения от igrayka
  № 8  
Ответить с цитированием
igrayka
[+1.3 21.08.09]
 
Аватар для igrayka

Регистрация: Oct 2007
Сообщений: 39
Отправить сообщение для igrayka с помощью ICQ Отправить сообщение для igrayka с помощью Skype™
MonkDead,

Спасибо,попробую что-нибудь сейчас

Добавлено через 22 минуты
блин не могу понять как "пробежаться" по массиву и прявязать слушателей (

как используя массив ко всем его элементам добавить слушателей ?
1071: Syntax error: expected a definition keyword (such as function) after attribute rightbracket, not addEventListener.


Последний раз редактировалось igrayka; 21.08.2009 в 12:58.
Старый 21.08.2009, 14:25
Obi вне форума Посмотреть профиль Отправить личное сообщение для Obi Найти все сообщения от Obi
  № 9  
Ответить с цитированием
Obi
 
Аватар для Obi

Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
Цитата:
Сообщение от igrayka Посмотреть сообщение
MonkDead,

блин не могу понять как "пробежаться" по массиву и прявязать слушателей (

как используя массив ко всем его элементам добавить слушателей ?
Код AS3:
var a:Array = [new Sprite(),new Sprite(),new Sprite(),new Sprite(),new Sprite(),];
 
for(var i:uint = 0; i < a.length; i++) {
	var dObj:DisplayObject = a[i] as DisplayObject;
	dObj.addEventListener(MouseEvent.ROLL_OVER, trace);
	dObj.addEventListener(MouseEvent.ROLL_OUT, trace);
}
__________________
#flasher@irc.trg.ru:6667

Старый 21.08.2009, 15:02
igrayka вне форума Посмотреть профиль Отправить личное сообщение для igrayka Найти все сообщения от igrayka
  № 10  
Ответить с цитированием
igrayka
[+1.3 21.08.09]
 
Аватар для igrayka

Регистрация: Oct 2007
Сообщений: 39
Отправить сообщение для igrayka с помощью ICQ Отправить сообщение для igrayka с помощью Skype™
Код AS3:
for(i=1;i<60;i++) {
var ABTN:Array = new Array();
				ABTN[i] = new Sprite("bigmap.BTN"+i);
				var dObj:DisplayObject = ABTN[i] as DisplayObject;
				dObj.addEventListener(MouseEvent.ROLL_OVER, BTNrollOverHandler);
				dObj.addEventListener(MouseEvent.ROLL_OUT, BTNrollOutHandler);
			}
или

Код AS3:
for(i=1;i<60;i++) {
var ABTN:Array = new Array();
				ABTN[i] = "bigmap.BTN"+i;
				var dObj:DisplayObject = ABTN[i] as DisplayObject;
				dObj.addEventListener(MouseEvent.ROLL_OVER, BTNrollOverHandler);
				dObj.addEventListener(MouseEvent.ROLL_OUT, BTNrollOutHandler);
			}
все равно я не втыкаю (( жесть

1119: Access of possibly undefined property bigmap through a reference with static type flash.displayisplayObject.


когда я делаю хотя бы так
Код AS3:
//for(i=1;i<60;i++) {
				ABTN[0] = "bigmap.BTN1";
				var dObj:DisplayObject = ABTN[0] as DisplayObject;
				dObj.addEventListener(MouseEvent.ROLL_OVER, BTNrollOverHandler);
				dObj.addEventListener(MouseEvent.ROLL_OUT, BTNrollOutHandler);
			//}
он пишет - TypeError: Error #1009: Cannot access a property or method of a null object reference.
at AS::Control()


у меня MovieClip - карта, называется на сцене bigmap, в нем кнопки, 60 штук ...

bigmap.BTN(1-60).addEventListener( бла бла бла ) HOOW ?

хотелось бы слушать их в цикле, но я что-то никак не могу понять как


Последний раз редактировалось igrayka; 21.08.2009 в 15:20.
Создать новую тему Ответ Часовой пояс GMT +4, время: 06:16.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

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

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


 


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


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