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

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

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Вот так один плохой совет приводит к жуткой неразберихе.
.label и .name совершенно разные по смыслу свойства. Лейбл это метка, отображаемая на контролах (элементах интерфейса — кнопках, радио-буттонах, чекбоксах и т.п.), предназначенная для пользователя, чтобы он знал, что за кнопка перед ним нарисована, что она будет делать. Совет использовать лейбл для опознания кнопки в коде — плохой, потому что во-первых лейбл может быть не задан вообще, во-вторых лейбл может быть не текстом а иконкой, в-третьих, надпись на разных кнопках может быть одинаковой ("ок" например), и в-четвертых текст лейбла может меняться во время исполнения программы, в зависимости от контекста или в разных режимах.
Свойство .name наследуется всеми объектами от суперкласса Object. Оно есть у ВСЕХ экземпляров всех классов. Но это просто переменная типа String (строка), которое опять же может быть не определено, может быть одинаковым и может меняться в процессе исполнения программы.
Не рекомендуется пользоваться для идентификации ни тем, ни другим. Лейбл — просто вообще не для этого. Нейм можно юзать под свою ответственность. Но идеально будет организовать все так, чтобы не приходилось полагаться на переменчивые свойства объектов. Это все-равно как различать спрайты по ширине.
Если у Вас "спрайты в массиве", то Вы должны понимать, зачем их туда запихнули. Массив предполагает упорядоченность, структуру, и предоставляет методы для работы именно с порядком. У всех элементов есть индексы, описывающие место элемента в структуре. Это не мешок картошки, а точная картотека ссылок. Единственная ситуация, когда требуется дополнительный напряг, это ситуация с определением индекса в массиве элемента, пославшего событие. То есть, ссылка на сам элемент у Вас есть (e.target), но его индекс Вы не знаете, а это нужно для обработки события по логике (допустим, в игре Пятнашки). Тогда лучший способ — завести у всех элементов дополнительные свойства. В случае пятнашек это .id, хранящее номер фишки (можно использовать .name) и два индекса — строка и колонка (вертикаль и горизонталь), которые будут меняться в процессе игры и хранить положение в массиве (то есть, имея ссылку на фишку, Вы сможете спросить у нее номер и положение в массиве/на поле).
__________________
Reality.getBounds(this);

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

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

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


 


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


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