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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 15.10.2013, 00:04
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 21  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Wolsh всё дело в том, что в моей голове сидят Ваши слова ...
Цитата:
Обычно это просто uint, например 0xFF12D6.
Цитата:
ID это константы.
... и ещё немного знаний, которые кричать о использовании вектора в качестве хранилища.
Вот вчера и сегодня пол дня ломал голову как совместить константы и вектор.
Но после половины сегодняшнего дня я отложил вектор и константы и скрепя зубами склонился пока в сторону медленного словаря. Не смог я вобщем придумать, как сделать название константы uint, а искать в векторе по строковому значению класс, Вы мне уже обьясняли что это глупо.
Но у меня вот в чём недопонимание - если делать так
Код AS3:
public static const HERO:Class = game.characters.playable.Hero;
то нет возможности проверить на существование класса. Если так -
Код AS3:
public static const ENEMIES:Vector.<Class> = new <Class>[Troll, Wyvern, Ogre, Imp, Scamp, Zombie];
то id будет 1,2 или 3, то есть не какое то супер индивидуальное. Но наверное надо понять, что по другому не как и остановиться на втором варианте.. Но тут опять нет уверенности, что класс там есть и можно запутаться. я параноик?)

Старый 15.10.2013, 00:23
Babylon вне форума Посмотреть профиль Отправить личное сообщение для Babylon Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 22  
Ответить с цитированием
Babylon
[+1 25.10.13]
[+4 18.03.14]
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
кто мешает добавить поле? id в любом случае не индекс, а идентификатор

Старый 15.10.2013, 00:30
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 23  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Цитата:
Сообщение от Babylon Посмотреть сообщение
кто мешает добавить поле? id в любом случае не индекс, а идентификатор
Babylon Спасибо! Наверное надо это за правило взять... я у многих видел свойство id в классах.

Старый 15.10.2013, 00:32
Babylon вне форума Посмотреть профиль Отправить личное сообщение для Babylon Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 24  
Ответить с цитированием
Babylon
[+1 25.10.13]
[+4 18.03.14]
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
вектор это упакованный однородный массив, dict лучше.Akopalipsis, вам учиться надо последовательно.Вы не изучив одно хватаетесь за другое. Что Вы только не спрашивали. Когда будем самостоятельными?

Старый 15.10.2013, 00:34
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 25  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Цитата:
Что Вы только не спрашивали. Когда будем самостоятельными?
Ну не отвечайте тогда!)

Старый 15.10.2013, 00:35
Babylon вне форума Посмотреть профиль Отправить личное сообщение для Babylon Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 26  
Ответить с цитированием
Babylon
[+1 25.10.13]
[+4 18.03.14]
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
хорошо не буду!

Добавлено через 4 минуты
Цитата:
Сообщение от gloomyBrain Посмотреть сообщение
Ага. "Полызькать".

"Один интерфейс, множество реализаций" - пожалуй, лучше подойдет как определение полиморфизма.
Надо только иметь ввиду что фабрика может имплементировать сразу несколько интерфейсов. И это самое интересное.

Старый 15.10.2013, 01:00
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 27  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Что-то Вы меня совсем запутали.
3 — "менее индивидуально" чем 0xFF12D6 ?
А в чем разница? И то и другое — целое число без знака.
Что такое "проверить на существование класса"? Не скомпилится без импорта класса, вот и вся проверка.
Как может не быть уверенности, если эта база классов — фундамент всей фабрики? Придется приложить некоторые усилия, да, чтобы хотя бы один класс был написан без ошибок))))
Вы создаете таблицу фабричных классов. Их соответствие номеру (ID) должно быть фиксированным раз и навсегда. Я не очень понимаю, как Вы представляли себе это по-другому? Как первый вариант (с HERO)? На каждый-каждый итем свою константу? Это же избыточно, и гарантии ни на йоту не больше.
Естественно, рабочий вид хранилища классов должен быть прокомментирован и спланирован. Надо распланировать диапазоны и оставлять пустые ячейки на вырост. Допустим, первые 50 ячеек предназначены для классов оружия, но реально заняты скажем 15, на остальные пока не хватает фантазии, заполняем их ссылкой на класс EmptyItem.
Код AS3:
private static const ITEMS:Vector.<Class> = new <Class>
[
	/* WEAPON 0x000000...0x000032 */
	Sword,			// 0x000000 - Short Rusted Iron Sword
	BastardSword,	// 0x000001 - Bastard Rusted Iron Sword
	LongSword,		// 0x000002 - Long Rusted Iron Sword
	CurvedSword,	// 0x000003 - Curved Sword
	//...
	EbonyBow,		// 0x00000A - Long Ebony Bow
	EmptyItem,		// 0x000010
	//....
	EmptyItem,		// 0x000032
	/* FOOD 0x000033...0x000064 */
	//...
];
А "проверять" уж Фабрика должна. Это, извините, она подписывает контракт на то что вернет по запросу экземпляр нужного интерфейса. Ей и проверять перед отдачей экземпляр на соответствие контракту, и выкидывать Еррор (в одном конкретном месте, что радует) в случае, если айдишник передали какой-то левый.
__________________
Reality.getBounds(this);

Старый 15.10.2013, 01:04
Babylon вне форума Посмотреть профиль Отправить личное сообщение для Babylon Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 28  
Ответить с цитированием
Babylon
[+1 25.10.13]
[+4 18.03.14]
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
я подозреваю, что константа это алиас числовому id

Старый 17.10.2013, 15:54
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 29  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Wolsh Спасибо Вам за то что делитесь опытом, который
как мне кажется, получают находясь уже в команде. И за столь подробные обьяснения.
У меня к Вам ещё вопрос - чем вектор Class отличается от вектора Object?
Лично я разницу не как не могу уловить, но думаю, раз Вы так делаете, значит различия всё же есть.

Старый 17.10.2013, 17:50
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 30  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Код AS3:
public function Class extends Object
- . Ведь все наследуется от object - это нижний уровень. В справке все указано.
__________________
Марк Tween

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

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

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


 


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


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