![]() |
Мне придётся использовать массивы 80*10. Многомерные. А в объектах можно хранить десятки свойств.
|
80 x 10 - это всего лишь двумерный массив.
А в дву- и более -мерных массивах тоже можно хранить массу свойств. Я, кстати, так и делаю. Нужно правильно организовать структуру. PS. В AS, по сути, массив - это тоже объект, только без визуального представления. Так зачем превращать объект, имеющий визуальное представление, в хранилище данных? Если проект куцый, то так можно сделать. если что-то посложнее - извольте структуру продумать более оптимально. Добавлено через 5 минут Код AS1/AS2:
|
Можете показать примрер добавления многомерных массивов. Предположим, у меня есть функция :
Код AS1/AS2:
|
Код AS1/AS2:
Код AS1/AS2:
Если заранее неизвестно, сколько id, не создаем заренее структуру 2-го уровня, то вариант просто создавать вложенный массив второго уровня по ходу, на лету: Код AS1/AS2:
|
А если ID каждый раз разные, посылаются из игры? Как можно присваивать порядковые номера каждому новому айтему?
|
Цитата:
Код AS1/AS2:
|
Нет, ID это идентификатор сущности оружия, первый может быть 105, а второй - 5883. Т.е. сделать запись не по ID, а по порядковому номеру, запоминая номер последнего добавленного элемента, и наращивая его при добавлении.
|
Вариант 1.
Тогда нужно иметь два основных массива - один - в котором описаны дефолтные и неизменяемые свойства - типа description, mass. Второй - массив "активных" итемов, разных экземпляров разных итемов, у которых могут меняться нужные свойства, которые могут быть в игре разными. Как я понял по названию, это типа show? Также у итема на сцене будет еще одно свойство, которое определяет, что это, собственно, за итем, то есть соответствие id из первого массива, сущность. А при добавлении итема на сцену нужно производить определенные действия. Код AS1/AS2:
Его show и usable = false Код AS1/AS2:
В другой момент можно будет узнать другие свойства данного итема (т.е. типовые): Сперва узнаем id (сущность в вашей терминологии) Код AS1/AS2:
Код AS1/AS2:
Вариант 2. Можно иметь одну общую базу типовых итемов, и просто в неком свойстве типового итема указывать в виде некого свойства набор (вложенный массив) соответственных итемов на сцене, это еще одна или даже две вложенности, если с учетом индивидуальных свойств в игре. |
Я имел в виду просто запись по порядку. То есть у каждого айтема есть идентификатор в игре, и идентификатор порядкового номера элемента в инвентаре на Flash. Это ведь не самостоятельная игра на Flash, а просто файл интерфейса.
Например, есть предметы: Код:
номер id nameПри добавлении предмета в инвентарь функцией addClip, каждый объект получает свой порядковый номер, к которому можно обращаться. Например, есть массив ary, обращаемся к объекту номер 3, для свойства name: Код AS1/AS2:
|
Я именно это и имел ввиду в последнем посте.
Фразу "А при добавлении итема на сцену" можно считать за "А при добавлении итема в инвентарь". И весь принцип тот же самый. Код AS1/AS2:
и т.д. |
| Часовой пояс GMT +4, время: 04:07. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.