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

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

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

Регистрация: Jan 2011
Сообщений: 32
Цитата:
ни чего не происходит((
цитата к
Цитата:
Код AS3:
var cells:Dictionary = new Dictionary();
 
function Step(e:Event) 
{ 
        if (Player==1 && cells[e.target] != null && cells[e.target] == 0)
        {
            MovieClip(e.target).gotoAndStop(2);
            Player=2;
            cells[e.target]=1;
            stage.addEventListener(Event.ENTER_FRAME,proverka);
        }
 
        if (Player==2 && cells[e.target] != null && cells[e.target] == 0)
        {
            MovieClip(e.target).gotoAndStop(3);
            Player=1;
            cells[e.target]=2;
            stage.addEventListener(Event.ENTER_FRAME,proverka);
        }
}
на счет этого
Код AS3:
Cells[int(String(e.target.name).substr(5))] = ....
я понял что она делает и я опечатался у меня Cell1)))
А куда ее вставлять я не понял

Добавлено через 2 минуты
У меня Cell1

Цитата:
Cells[int(String(e.target.name).substr(4))] = ....
куда это вставлять?

Старый 06.01.2011, 00:49
andrew911 вне форума Посмотреть профиль Отправить личное сообщение для andrew911 Найти все сообщения от andrew911
  № 12  
Ответить с цитированием
andrew911

Регистрация: Mar 2007
Сообщений: 545
Понятно.

Вам надо, чтобы при нажатии на Cells1 заполнялось Cells[1]..
Вставляйте там, где ловите нажатие.
Так вы определяете индекс Cells - int(String(e.target.name).substr(4))

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

Регистрация: Jan 2011
Сообщений: 32
Спасибо!! Заработало!

Старый 06.01.2011, 10:40
Gaen вне форума Посмотреть профиль Отправить личное сообщение для Gaen Найти все сообщения от Gaen
  № 14  
Ответить с цитированием
Gaen
strange mood
 
Аватар для Gaen

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
Цитата:
Cells[int(String(e.target.name).substr(4))]...
Никогда так не делайте.

Почему? Попробуйте разобраться, что делает следующая конструкция, построенная по такой же технологии:

Код AS1/AS2:
this._parent._parent.registerTip(this._parent._parent['area'+this._parent.txtTarget._name.charAt(3)], this.txt.text);
__________________
тонкий тролль, осеянный благодатью

Старый 06.01.2011, 13:23
passertm вне форума Посмотреть профиль Отправить личное сообщение для passertm Найти все сообщения от passertm
  № 15  
Ответить с цитированием
passertm
[+1 28.12.10]
[+1 29.12.10]
 
Аватар для passertm

Регистрация: Aug 2006
Сообщений: 107
Народ я чегото не совсем вас понимаю. Говоря "Слушатель с параметром" не обязательно идет речь о каком то необычным параметре. e.target тоже параметр. И в это теме первая же ссылка указывает как можно использовать e.target для определения на что именно нажато.
А гдето в теме было написано что можно в e.target добавить своство чтобы его можно было использовать при обработке. Вообщем ИМХО все что нужно товаришу он там нашел бы

Добавлено через 5 минут
Вот вместо этого я бы советовал как раз добавить новое поле.
Код AS3:
int(String(e.target.name).substr(4))



а если в массиве те самые елементы на которые нажимают то лучше сделать
Код AS3:
var n:int=array.indexOf(e.target)

Старый 06.01.2011, 16:27
andrew911 вне форума Посмотреть профиль Отправить личное сообщение для andrew911 Найти все сообщения от andrew911
  № 16  
Ответить с цитированием
andrew911

Регистрация: Mar 2007
Сообщений: 545
Цитата:
Сообщение от GAIKER Посмотреть сообщение
Никогда так не делайте.

Почему? Попробуйте разобраться, что делает следующая конструкция, построенная по такой же технологии:

Код AS1/AS2:
this._parent._parent.registerTip(this._parent._parent['area'+this._parent.txtTarget._name.charAt(3)], this.txt.text);
Вынесите это в функцию с понятным именем. И тут нету нагромождения парентов, которые все совсем запутывают.


Цитата:
Сообщение от passertm Посмотреть сообщение
Народ я чегото не совсем вас понимаю. Говоря "Слушатель с параметром" не обязательно идет речь о каком то необычным параметре. e.target тоже параметр.
e.target это стандартное свойство. Под слушателем с параметром же имеется в виду передавать новые, нестандартные параметры.


По делу: согласен int(String(e.target.name).substr(4)) это не совсем хорошо, тут проблема в проектировании приложения - если подумать можно все сделать прозрачнее и однозначнее, без кучи Cell1 ... Celln.

Но для новичка, если он понимает, что делает та функция, подойдет. Потом он столкнется с неудобствами, связанными с такой архитектурой, сделает выводы и сделает лучше.


PS Например в коде создавать и размещать клетки, заносить их в массив, потом работать с ним.


Последний раз редактировалось andrew911; 06.01.2011 в 16:41.
Создать новую тему Ответ Часовой пояс GMT +4, время: 00:24.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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