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

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

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

Регистрация: Feb 2014
Сообщений: 192
Да, точно, а то у меня глюки начинались с моей переменной, когда я проверял эту переменную, а так все получается. Спасибо caseyryan, класс Key модернизирован!

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
Сообщение от ZackMercury Посмотреть сообщение
Статики медленнее, намного быстрее обращение к члену класса или локальной переменной.
Не тот случай. И не та реализация. В этом случае статик гораздо лучше.
Здесь сравнивать скорость статиков и полей экземпляра - просто маразм. Ты же не вызываешь их по миллиону раз за кадр. А 50 - 60 вызовов не сыграют абсолютно никакой роли.

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

Регистрация: Feb 2006
Сообщений: 884
Записей в блоге: 2
Отправить сообщение для djyamato с помощью ICQ Отправить сообщение для djyamato с помощью Skype™
Цитата:
Сообщение от Dmitriy154 Посмотреть сообщение
Код AS3:
package {
	public class Key {
		public static function initialize(stage:Stage):void {
			if (!initialized) {
				stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
				stage.addEventListener(KeyboardEvent.KEY_UP, keyReleased);
				stage.addEventListener(Event.DEACTIVATE, clearKeys);
				initialized = true;
			}
		}
	}
}
Коль скоро речь идет об организация кода для игры, я бы убрал подписку на события в отдельный приватный метод

Старый 28.09.2015, 07:06
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 14  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
Коль скоро речь идет об организация кода для игры, я бы убрал подписку на события в отдельный приватный метод
Это и есть отдельный приватный метод)
Вообще это код из класса, который только и занимается проверкой того, не нажата ли какая-либо клавиша

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

Регистрация: Feb 2006
Сообщений: 884
Записей в блоге: 2
Отправить сообщение для djyamato с помощью ICQ Отправить сообщение для djyamato с помощью Skype™
Цитата:
Сообщение от caseyryan Посмотреть сообщение
Это и есть отдельный приватный метод)
Вообще это код из класса, который только и занимается проверкой того, не нажата ли какая-либо клавиша
В нем происходит 2 действия, я бы развел эти 2 действия в разные методы. А для того чтобы отписаться от событий в Вашем случае нужно будет писать что-то типа
Код AS3:
stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
				stage.removeEventListener(KeyboardEvent.KEY_UP, keyReleased);
				stage.removeEventListener(Event.DEACTIVATE, clearKeys);
вместо
Код AS3:
removeStageListeners();

Старый 28.09.2015, 13:55
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 16  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
В нем происходит 2 действия
В нем происходит только подписка сцены на нужные события и изменение значения флага initialized. Выносить изменение флага в отдельный метод - это маразм

Цитата:
А для того чтобы отписаться от событий в Вашем случае нужно будет писать что-то типа
Лишний код - это тоже плохо. В этом случае от событий отписываться не надо. Класс инициализируется один раз при запуске приложения, и больше никаких методов кроме isDown(keyCode:uint) в нем использовать не требуется

Старый 28.09.2015, 14:00
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 17  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Бритва Оккама

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

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

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


 


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


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