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

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

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

Регистрация: Nov 2010
Сообщений: 24
По умолчанию как узнать индекс мувика находящего в массиве и по которому кликнули?

мувики загнаны в массив и выведены на экран, по ним кликаю...
как узнать индесный номер в массиве того, по которому кликнул?

Старый 27.11.2010, 11:43
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Код AS3:
массив.indexOf (объект)
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 27.11.2010, 11:55
vetzp вне форума Посмотреть профиль Отправить личное сообщение для vetzp Найти все сообщения от vetzp
  № 3  
Ответить с цитированием
vetzp

Регистрация: Nov 2010
Сообщений: 24
Цитата:
Сообщение от iNils Посмотреть сообщение
Код AS3:
массив.indexOf (объект)
пробую, не получается...
может Я неправильно объявляю вот это:
Код AS3:
addEventListener(MouseEvent.CLICK, btnStartClick);
массив у меня Sprites
а объект какой туда указать?


Последний раз редактировалось vetzp; 27.11.2010 в 11:57.
Старый 27.11.2010, 11:56
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 4  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
по которому кликнули
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 27.11.2010, 12:05
vetzp вне форума Посмотреть профиль Отправить личное сообщение для vetzp Найти все сообщения от vetzp
  № 5  
Ответить с цитированием
vetzp

Регистрация: Nov 2010
Сообщений: 24
Цитата:
Сообщение от iNils Посмотреть сообщение
по которому кликнули
так Я ж не знаю по которму из них кликнули...
из массива мувиков Я их вот так вывожу на экран:
Код AS3:
for ( i = 0; i<2; i++) {
	Vika = new DurikArray[i] as MovieClip;
	Sprites.push(Vika);
	(Sprites[i] as MovieClip).x = 100+i*200;
	(Sprites[i] as MovieClip).y = 200;
	(Sprites[i] as MovieClip).gotoAndStop(1);
	(Sprites[i] as MovieClip).scaleX = 1;
	(Sprites[i] as MovieClip).scaleY = 1;
	addChildAt(Sprites[i] as MovieClip, 0);
}
какой у меня тут объект получается?

Старый 27.11.2010, 12:19
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 6  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Код AS3:
trace(Sprites.indexOf(e.currentTarget));
вот так это узнается

Старый 27.11.2010, 12:24
vetzp вне форума Посмотреть профиль Отправить личное сообщение для vetzp Найти все сообщения от vetzp
  № 7  
Ответить с цитированием
vetzp

Регистрация: Nov 2010
Сообщений: 24
Цитата:
Сообщение от goodguy Посмотреть сообщение
Код AS3:
trace(Sprites.indexOf(e.currentTarget));
вот так это узнается
не работает, все время выдает -1

может у меня тут что-то неправильно:
Код AS3:
addEventListener(MouseEvent.CLICK, this.btnStartClick);
подскажите плиз

Старый 27.11.2010, 12:26
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 8  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
тут все правильно. Если выдает -1, значит объекта нет в массиве.
В таком случае я бы для начала оттрейсил сам массив, чтобы убедиться, что файлы туда вообще попали. А потом бы уже копал в сторону определения индекса

Надо смотреть весь код, чтобы сказать точнее


Последний раз редактировалось goodguy; 27.11.2010 в 12:28.
Старый 27.11.2010, 12:32
vetzp вне форума Посмотреть профиль Отправить личное сообщение для vetzp Найти все сообщения от vetzp
  № 9  
Ответить с цитированием
vetzp

Регистрация: Nov 2010
Сообщений: 24
Цитата:
Сообщение от goodguy Посмотреть сообщение
тут все правильно. Если выдает -1, значит объекта нет в массиве.
В таком случае я бы для начала оттрейсил сам массив, чтобы убедиться, что файлы туда вообще попали. А потом бы уже копал в сторону определения индекса

Надо смотреть весь код, чтобы сказать точнее
Код AS3:
for ( i = 0; i<2; i++) {
	Vika = new DurikArray[i] as MovieClip;
	Sprites.push(Vika);
	(Sprites[i] as MovieClip).x = 100+i*200;
	(Sprites[i] as MovieClip).y = 200;
	(Sprites[i] as MovieClip).gotoAndStop(1);
	(Sprites[i] as MovieClip).scaleX = 1;
	(Sprites[i] as MovieClip).scaleY = 1;
	addChildAt(Sprites[i] as MovieClip, 0);
}
	addEventListener(MouseEvent.CLICK, this.btnStartClick);
 
	private function btnStartClick(event:MouseEvent) : void {
		i = Sprites.indexOf(event.currentTarget);
		trace(i);
	}
вот так Я их выввожу на экран... и они нормально появляются...
нажатие мышки срабатывает только когда Я по кому-нибудь из них нажму...
думаю это означает что они в массиве есть...


Последний раз редактировалось vetzp; 27.11.2010 в 12:35.
Старый 27.11.2010, 12:35
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 10  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Вытяните обьявление метода куда надо (из метода, где цикл и уж точно из цикла).
Код AS3:
private function btnStartClick(event:Event):void {
var myInd:int = Sprites.indexOf(event.currentTarget);
...
Также лучше
Код AS3:
for ( i = 0; i<2; i++) {
	Vika = new DurikArray[i] as MovieClip;
	Sprites.push(Vika);
	Vika.x = 100+i*200;
	Vika.y = 200;
	Vika.gotoAndStop(1);
	//Vika.scaleX = 1;//если у вас не ставится иное в конструкторе, то они и так 1
	//Vika.scaleY = 1;
	addChildAt(Vika, 0);
}
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.


Последний раз редактировалось -De-; 27.11.2010 в 12:48.
Создать новую тему Ответ Часовой пояс GMT +4, время: 15:55.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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