Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.10.2012, 16:16
Аватар для function
Говнокодер со стажем
Отправить личное сообщение для function Посмотреть профиль Найти все сообщения от function
 
Регистрация: 06.01.2012
Сообщений: 164

Реализация игры-платформера
Вопрос: как представить игровое поле в javascript?

У самого имеется несколько идей:

1. Двумерный массив с пикселями (будет зависать)
2. Двумерный массив с блоками, например по 50px (перемещение только по блокам)
3. Двумерный массив с блоками, в котором положение игрока меняется при достижении определённой границы
if ((pos_x % 50) > 25) ...

Если выбрать этот вариант, то неполучится реализовать возможность "сдвигать" блоки.

Ваши идеи?

Последний раз редактировалось function, 06.10.2012 в 16:36.
Ответить с цитированием
  #2 (permalink)  
Старый 06.10.2012, 16:34
Аватар для Maxmaxmахimus
司会
Отправить личное сообщение для Maxmaxmахimus Посмотреть профиль Найти все сообщения от Maxmaxmахimus
 
Регистрация: 29.02.2012
Сообщений: 198

представь в виде абстрактной плоскости, а сущности представляй в виде координат их положения на этой плоскости, в том числе и сущность "камера" и её координаты.

а такие низкоуровневые вещи как пиксели и прочая хуита это дело рук браузера и видеокарты
Ответить с цитированием
  #3 (permalink)  
Старый 06.10.2012, 16:38
Аватар для function
Говнокодер со стажем
Отправить личное сообщение для function Посмотреть профиль Найти все сообщения от function
 
Регистрация: 06.01.2012
Сообщений: 164

Тогда как определять наличие блока в данном месте? Перебором всех объектов?
Ответить с цитированием
  #4 (permalink)  
Старый 06.10.2012, 16:44
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от function
Тогда как определять наличие блока в данном месте? Перебором всех объектов?
блок должен знать, где он находится

Сообщение от Maxmaxmахimus
представь в виде абстрактной плоскости, а сущности представляй в виде координат их положения на этой плоскости, в том числе и сущность "камера" и её координаты.
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #5 (permalink)  
Старый 06.10.2012, 16:52
Аватар для function
Говнокодер со стажем
Отправить личное сообщение для function Посмотреть профиль Найти все сообщения от function
 
Регистрация: 06.01.2012
Сообщений: 164

Нет. Например, нужно переместить объект в некоторое место, если там нет блока, а иначе ничего не делать. Как узнать, есть ли там блок(и)?
Ответить с цитированием
  #6 (permalink)  
Старый 06.10.2012, 16:58
Аватар для Maxmaxmахimus
司会
Отправить личное сообщение для Maxmaxmахimus Посмотреть профиль Найти все сообщения от Maxmaxmахimus
 
Регистрация: 29.02.2012
Сообщений: 198

у блоков должны быть размеры))
как определить пересекает ли один квадрат другой квадрат зная их разверы и коордлинаты??
ну я думаю нам нужно Хоккинга или Эйнштейна подключать для такого рода уравнений вычислений
Ответить с цитированием
  #7 (permalink)  
Старый 06.10.2012, 17:13
Аватар для function
Говнокодер со стажем
Отправить личное сообщение для function Посмотреть профиль Найти все сообщения от function
 
Регистрация: 06.01.2012
Сообщений: 164

Сообщение от Maxmaxmахimus Посмотреть сообщение
у блоков должны быть размеры))
как определить пересекает ли один квадрат другой квадрат зная их разверы и коордлинаты??
ну я думаю нам нужно Хоккинга или Эйнштейна подключать для такого рода уравнений вычислений
.
.
Цитата:
Тогда как определять наличие блока в данном месте? Перебором всех объектов?
Ответить с цитированием
  #8 (permalink)  
Старый 06.10.2012, 17:36
Аватар для Maxmaxmахimus
司会
Отправить личное сообщение для Maxmaxmахimus Посмотреть профиль Найти все сообщения от Maxmaxmахimus
 
Регистрация: 29.02.2012
Сообщений: 198

грубо говоря да, но это можно оптимизировать. деля плоскость на квадраты и в каждом квадрате будет содержаться данные о том какие тут обьекты находятся.

Или даже так, Грубо говоря 2 массива упорядоченных по расположению обьектов. первый массив по горизонтали второй по вертикале. и поиск по этому массиву будет молнеиносно быстрый. это называется индексация. Иными словами чтобы все обекты не проверять можно индексировать их расположение в массивах и всегда держать эти массивы упорядоченными по расположению обектов. Иными словами переупорядочивать их при перемещени обектов.
Но и это переупорядочивание можно оптимизировать.

Потом просто хочешь посмотреть пересекают ли какие то обьекты нужный тебе, смотришщь его координаты, потом берешь СРЕДНИЙ обьектт из упорядоченного по расположению массива остальных обьектов, и если этот средний элемент стоит левее то отсекаешь от исследования правую часть массива, потом берешь средний элемент левой части, и отсекаешь которая не подходит. и.т.д. Таким образом в 4-7 итераций ты находишь ближайшие обьекты которые рссположены около твоего, их то и тестируешь на пересечение. КЭП.


Я вообще ни одной игры не писал и даже незнаю как это делается, но просто логически думая советую это. Не знаю как там НА САМОМ ДЕЛЕ делается.

Последний раз редактировалось Maxmaxmахimus, 06.10.2012 в 17:41.
Ответить с цитированием
  #9 (permalink)  
Старый 06.10.2012, 17:39
Аватар для function
Говнокодер со стажем
Отправить личное сообщение для function Посмотреть профиль Найти все сообщения от function
 
Регистрация: 06.01.2012
Сообщений: 164

Сообщение от Maxmaxmахimus
грубо говоря да, но это можно оптимизировать. деля плоскость на квадраты и в каждом квадрате будет содержаться данные о том какие тут обьекты находятся.
Сообщение от function
2. Двумерный массив с блоками, например по 50px (перемещение только по блокам)
Сообщение от Maxmaxmахimus
Или даже так, Грубо говоря 2 массива упорядоченных по расположению обьектов. первый массив по горизонтали второй по вертикале. и поиск по этому массиву будет молнеиносно быстрый.
Это как?
Ответить с цитированием
  #10 (permalink)  
Старый 06.10.2012, 17:42
Аватар для Maxmaxmахimus
司会
Отправить личное сообщение для Maxmaxmахimus Посмотреть профиль Найти все сообщения от Maxmaxmахimus
 
Регистрация: 29.02.2012
Сообщений: 198

блин погугли как делать индексацию поиска
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реализация игрового поля для игры "Точки" last-art Events/DOM/Window 7 22.04.2012 03:18
JavaScript client и server side игры Москва 110 000 Yanazavr Работа 0 25.03.2012 14:16
Написание игры (для игры в онлайн) JavaStart Общие вопросы Javascript 0 23.02.2012 11:48
Ищу программиста для сотрудничества, ищу программиста для создания браузерной игры He3HaUKa Javascript под браузер 3 25.04.2011 20:53
Оцените мой скрипт игры micscr Ваши сайты и скрипты 26 21.12.2009 10:50