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

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

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
я мало понимаю пока в флеше
После этой фразы следовало поставить точку и дальше не писать. Человек спросил, ему ответили. Что он будет делать с этим примером, дело уже спросившего.

Старый 02.09.2010, 18:02
iillyyaa вне форума Посмотреть профиль Отправить личное сообщение для iillyyaa Найти все сообщения от iillyyaa
  № 12  
Ответить с цитированием
iillyyaa

Регистрация: Apr 2010
Сообщений: 147
человек спросил, как передать массив по нажатию кнопки, а ему сказали как перебрать элементы массива.. разницу чуствуете ?

это тоже самое, как сказать, в универсам завезли колбасу по 200р.
а он будет решать, пойдет он в универсам за колбасой или нет..

Добавлено через 4 минуты
я наверно настолько тупой, что не вижу, как передан массив arr (который автор хочет передать)
я лишь вижу, что зачем то создан второй массив и зачем то в фунции его перебирают.. "что то делая"

Старый 02.09.2010, 19:26
AirDecade вне форума Посмотреть профиль Отправить личное сообщение для AirDecade Найти все сообщения от AirDecade
  № 13  
Ответить с цитированием
AirDecade

Регистрация: Jun 2010
Сообщений: 15
2-ой массив не создан. buttons - лишь переменная, ей присваивается первый массив. Таким образом массивов всего 1 штука.

код
Код AS3:
for(var i:int = 0; i<buttons.length; i++){
				//Что-то делаем		
			}
я написал просто как пример обращения к массиву. Если нужно не перебрать его элементы, а что-то другое сделать, значит этот цикл не нужен.

Старый 02.09.2010, 20:19
iillyyaa вне форума Посмотреть профиль Отправить личное сообщение для iillyyaa Найти все сообщения от iillyyaa
  № 14  
Ответить с цитированием
iillyyaa

Регистрация: Apr 2010
Сообщений: 147
нужно знать или значение ячейки массива или же имя массива + номер ячейки

а не просто присвоить к переменной массив..
хотя мне кажется вы тут накосячили.. если бутонс переменная, то что за длинна у переменной ? и для чего это вообще нужно ???
зачем нам этот buttons ??? мы что не можем сразу обратиться к arr ???

у человека 10 кнопок и 10 прямоугольников, нажав на кнопку мы удаляем прямоугольник рядом с кнопкой.. как твоя фунция удалит именно тот прямоугольник ?


Последний раз редактировалось iillyyaa; 02.09.2010 в 20:22.
Старый 02.09.2010, 20:53
AirDecade вне форума Посмотреть профиль Отправить личное сообщение для AirDecade Найти все сообщения от AirDecade
  № 15  
Ответить с цитированием
AirDecade

Регистрация: Jun 2010
Сообщений: 15
Цитата:
Сообщение от iillyyaa Посмотреть сообщение
нужно знать или значение ячейки массива или же имя массива + номер ячейки
Можно цитату?


length у массива.
arr виден только внутри initButtons.


Цитата:
Сообщение от iillyyaa Посмотреть сообщение
у человека 10 кнопок и 10 прямоугольников
Где вы их у него нашли?

Старый 02.09.2010, 21:19
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 16  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,601
Записей в блоге: 17
iillyyaa, ага, в точку.

event.target - там где произошло событие (например, кнопка внутри мувика, подписанного на событие)
event.currentTarget - то что подписали

Цитата:
я наверно настолько тупой, что не вижу, как передан массив arr (который автор хочет передать)
Успокойтесь, Вы мыслите совершенно правильно.

Если честно, мне интересно что хочет доказать AirDecade и почему alatar решил заткнуть здравую мысль у iillyyaa.


Последний раз редактировалось Psycho Tiger; 02.09.2010 в 21:29.
Старый 02.09.2010, 22:06
iillyyaa вне форума Посмотреть профиль Отправить личное сообщение для iillyyaa Найти все сообщения от iillyyaa
  № 17  
Ответить с цитированием
iillyyaa

Регистрация: Apr 2010
Сообщений: 147
Psycho Tiger, евенты я примерно понимаю, но не до конца пока.. как нам выдернуть сам массив ? сначала ссылку на массив, а потом уже и его, с его значениями..

нам нужен индекс массива.. и наверно имя (или же значения массива в некий временный массив)

вот как ?

Старый 02.09.2010, 22:44
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 18  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,601
Записей в блоге: 17
Чтобы выдернуть массив из метода - достаточно чтобы он был в скоупе класса. Объявить его как приватное поле класса будет для этого достаточно.

Теперь по event.currentTarget мы получаем ссылку на один из подписанных объектов - точнее на котором был клик. Приводим его к нужному типу. У этого типа есть поле id, мы в цикле ему присваивали значение. Так мы узнаём какой индекс в массиве носит этот объект. Только вот зачем узнавать индекс, чтобы узнать позицию в элементе чтобы выдернуть элемент из элемента, когда у нас этот элемент уже есть - мне неясно.

Старый 02.09.2010, 23:13
iillyyaa вне форума Посмотреть профиль Отправить личное сообщение для iillyyaa Найти все сообщения от iillyyaa
  № 19  
Ответить с цитированием
iillyyaa

Регистрация: Apr 2010
Сообщений: 147
так где он есть ? я ход мысли понимаю, а код написать не могу.. думаю автор так же

есть у нас arr[0]=3; arr[1]=7; arr[2]=19;

как нам получить значение 7 ? и как индекс 1 ?

индексом мы можем из другого массива что то выдернуть.. или же изменить какой то прямоугольник, который завязан индексом с кнопкой..

Старый 02.09.2010, 23:22
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 20  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,601
Записей в блоге: 17
Код AS3:
private var hash:Dictionary=new Dictionary();
 
...
var i:int=10;
while (i--){
var mc:SomeSprite=new SomeSprite();
mc.addEventListener(MouseEvent.CLICK, onClick);
super.addChild(mc);
mc.x=100*i;
hash[mc]=i;
}
 
...
 
private function onClick(event:MouseEvent):void{
trace(hash[event.currentTarget]);
}

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

Теги
array , EventListener , массив , получить , слушатель

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

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


 


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


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