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

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

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

Регистрация: Aug 2006
Сообщений: 32
По умолчанию добавление клипов из библиотеки

Здравствуйте!
разрабатываю клеточный изометрический мир и вот задумался:
клеток разного содержания в библиотеке будет очень много, а как их лучше всего из кода прикреплять?
ну по идее действия такие:
- создаю очередную клетку,
- линкую к ней класс, потом в коде что-то вроде вот такого:
Код AS3:
map[i][j]=new имя_класса_клетки_в_позиции_i_j();
addChild(map[i][j])
но так как разновидностей клеток много, то как лучше поступить?
делать простой switch вот так:
Код AS3:
switch(type){
case 0:{
map[i][j]=new имя_класса_клетки_в_позиции_i_j();
addChild(map[i][j]);
break;
}
......
}
или есть более изящный подход? потому, что, например, при 1000 типов клеток код будет занимать очень много места и вносить в него изменения будет тяжело.

Старый 23.04.2010, 09:18
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
У вас каждая клетка уникальна?

Старый 23.04.2010, 09:22
Karandash8 вне форума Посмотреть профиль Отправить личное сообщение для Karandash8 Найти все сообщения от Karandash8
  № 3  
Ответить с цитированием
Karandash8

Регистрация: Aug 2006
Сообщений: 32
в библиотеке да, все различные.
при добавлении на сцену, конечно, может одна клетка быть несколько раз добавлена: например может быть полянка 3*4 из одинаковых клеток травы, а рядом дорога из клеток асфальта и т.д.

Старый 23.04.2010, 11:48
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 4  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
getDefinitionByName

Старый 23.04.2010, 11:53
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 5  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от Karandash8 Посмотреть сообщение
в библиотеке да, все различные.
при добавлении на сцену, конечно, может одна клетка быть несколько раз добавлена: например может быть полянка 3*4 из одинаковых клеток травы, а рядом дорога из клеток асфальта и т.д.
Ваш вопрос в том, как составить карту ячеек или как вытянуть из библиотеки эти ячейки? Если второе, то ответ дан выше.

Старый 23.04.2010, 12:14
Karandash8 вне форума Посмотреть профиль Отправить личное сообщение для Karandash8 Найти все сообщения от Karandash8
  № 6  
Ответить с цитированием
Karandash8

Регистрация: Aug 2006
Сообщений: 32
спасибо! getDefinitionByName как раз то,что нужно, теперь можно формировать строку с именем класса клетки и потом ее добавлять

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

блогер
Регистрация: Jun 2005
Адрес: RU
Сообщений: 1,540
Записей в блоге: 12
Ы) а если у вас 1000х1000 клеток, вы б 1000000 классов написали?)

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

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
Кстате, при большом количестве клеток отдельные спрайты довольно сильно грузят проц. Например поле из травы 50х50 клеток это 2500 спрайтов. Может быть есть какой то способ это обойти?

Старый 23.04.2010, 13:31
Zik. вне форума Посмотреть профиль Отправить личное сообщение для Zik. Найти все сообщения от Zik.
  № 9  
Ответить с цитированием
Zik.
 
Аватар для Zik.

Регистрация: Nov 2007
Сообщений: 1,724
Отрисовать в Bitmap

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

Регистрация: Aug 2006
Сообщений: 32
я придумал по-другому. Создаю массив, где хранятся описания клеток (например 1000*1000). И создаю небольшой массив отображения (например 8*8), потому что все клетки все равно одновременно не отображаются. А потом при движении я нужные клетки удаляю а другие отображаю. Это правда пока на половину в теории, но на днях думаю реализую до конца, если интересно могу отписаться

Добавлено через 2 минуты
Цитата:
Сообщение от Bgg Посмотреть сообщение
Кстате, при большом количестве клеток отдельные спрайты довольно сильно грузят проц. Например поле из травы 50х50 клеток это 2500 спрайтов. Может быть есть какой то способ это обойти?
1000000 классов создавать не обязательно! главное пролинковать все клипы, он ведь класс сам создает, в них ведь ничего дополнительно делать не надо

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

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

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


 


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


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