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

Вернуться   Форум Flasher.ru > Flash > API приложений и сред

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 23.11.2013, 17:41
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 1  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
По умолчанию Работа с картой AS3Isolib

Товарищи, думаю здесь много людей, кто занимался разработкой игр на данном движке. В интернете статей качественных я не нашел, все только на примитивах - создание сетки и т.п. Нет нигде более развернутой информации, если есть сообщите.

Вопросы :

1) На сколько я понял основная карта это большой битмап, аля бекграунд, а не сетка IsoSprites - иначе будут жуткие тормоза. ISOSprites используются только для объектов карты, которые взаимодействуют со средой, например участвуют в поиске пути и т.п.

2) Сейчас возник вопрос о прокрутке карты ( допустим битмап 3000*3000). Первое , что пришло в голову по Mouse_Move - выявлять где находится курсор ( 4 угла и стороны - 8 напралвений ), затем подписываться на Enter_Frame - и двигать контейнер с картой и объектами в нужном направлении. А как делаете вы? Может мой путь заведомо ресурсоемкий и неверный?

3) Создание сетки нажатий ( имеется ввиду область где возможно двигать юнита ). Стандартно, по скольку у нас изометрия сетка как *треугольник* , допустим, лепиться к верхнему краю, но нам нужно задействовать ВСЮ квадратную область, соответсвенно получается, что нужно делать сетку БОЛЬШЕЙ чем сама карта в N раз и двинуть объект в точку 0,0 уже не получится, будут совсем другие координаты. Карту же повернуть под квадрат нельзя? Вообщем тут я немного запутался, расскажите основы

4) Скрытие элементов карты. Очень интересный вопрос, как раз об оптимизации, который ставится в первую очередь. Допустим у нас, как я и сказал битмап 3000*3000. Мы сразу же генерируем карту, расставляем объекты в начале игры на нужных координатах в этой области, и у каждого юнита, например имеется AI, соответственно находятся они в области видимости или нет - все равно работают, выполняют действия и соответственно жрут ресурсы. Чем вы руководствуетесь производя оптимизацию в этом ключе? Возможно все объекты не находящиеся в зоне видимости у вас visible=false или что то другое, может быть вообще это ни как не оптимизируется.

Заранее всем спасибо за ответы!
Костя ( case ) - В скайпе тебя какой день нет, ты помоему игры на этом движке писал, расскажи свое видение всех этих проблем. Спасибо.
__________________
Марк Tween

Старый 23.11.2013, 22:24
kirsha вне форума Посмотреть профиль Отправить личное сообщение для kirsha Найти все сообщения от kirsha
  № 2  
Ответить с цитированием
kirsha

Регистрация: Nov 2013
Сообщений: 18
у меня похожая задача, тоже было бы интересно узнать решение этих задач.

Старый 13.12.2013, 14:11
HorusWM вне форума Посмотреть профиль Отправить личное сообщение для HorusWM Найти все сообщения от HorusWM
  № 3  
Ответить с цитированием
HorusWM

Регистрация: Sep 2010
Сообщений: 90
Цитата:
Сообщение от in4core Посмотреть сообщение
Вопросы :

1) На сколько я понял основная карта это большой битмап, аля бекграунд

2) Сейчас возник вопрос о прокрутке карты

3) Создание сетки нажатий

4) Скрытие элементов карты. всех этих проблем. Спасибо.
Отвечу, как я делал:

1) разбил у себя все тайлы на статические - рисуемые в один общий фон (все динамические объекты ВСЕГДА над ними) и сортируемые - те, которые участвуют в сортировке по глубине на уровне с остальными объектами. Также врисовываю все "столбцовые" тайлы в один общий самый нижний, ибо расчитывать для каждого из них сортировку смысла нет - коллизии для персонажей будут считаться всеравно по одному целому столбцу из этих тайлов (в результате, для бокса из тайлов, например, 10х10х10 получаем всего 100 тайлов, вместо тысячи). Ну, и соответственно, никаких потайловых столкновений - их делаю отдельными виртуальными блоками на группы тайлов.

2) Так как я не использую мувики (копипикселз онли), то двигаю относительно виртуальной камеры (Point(x,y)) весь рисуемый канвас, в общем-то можно использовать ту же логику и для контейнера. Выпадающие за границы тайлы и объекты, естественно, не рисуются

3) Не совсем понял вопроса. Если правильно понял - тебе надо создать кликабельную поверхность? Я делаю для этого плиточную маску, по которой можно задавать движение персонажу.

4) Само собой, что выпало из вида - не рисуется, логику обновления тоже можно упрощать, например, снижать точности каких-нибудь рейкастов, упрощать поиск пути или вообще снижать частоту обновления, допустим, с 30 кадров до 10.

Еще могу посоветовать разобраться с побитовыми операциями и исключить вызовы тригонометрических функций хотя бы из постоянных обновлений (использовать LookUp таблицы) - это может капитально повысить производительность, что для изометрии крайне важно, побольше расчетов в геттерах/сеттерах, меньше вызовов методов, никаких созданий поинтов, векторов и проч. на лету в обновлениях, кэширование всего, по возможности только умножения вместо делений и прочие маленькие нюансы, повышающие быстродействие - получиш фору на рендер)


Последний раз редактировалось HorusWM; 13.12.2013 в 14:57.
Старый 17.12.2013, 05:18
djyamato вне форума Посмотреть профиль Отправить личное сообщение для djyamato Посетить домашнюю страницу djyamato Найти все сообщения от djyamato
  № 4  
Ответить с цитированием
djyamato
 
Аватар для djyamato

Регистрация: Feb 2006
Сообщений: 884
Записей в блоге: 2
Отправить сообщение для djyamato с помощью ICQ Отправить сообщение для djyamato с помощью Skype™
спасибо, полезный ответ

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

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

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


 


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


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