Вниз  Новогодний конкурс 2014 - Обсуждение
Тема закрыта
Всего голосов: 58
- 13.01.2014 / 14:43
Magatino
  Администратор

Magatino 
Сейчас: Offline
Naik (13.01.2014/14:35)
DominaN, можно же и без сортировки обойтись. Тайлы - первый слой, спрайты не могут друг друга перекрывать - второй слой.
А как же деревья?
Там короче такая фигня , в одном случае дерево должно быть выше , а в другом ниже перса , это проблему ты решишь своим способом , но ствол у дерева меньше в ширину чем тайл , короче перс не будет доходит до дерева вплотную.
- 13.01.2014 / 14:57
Magatino
  Администратор

Magatino 
Сейчас: Offline
Вот такой вариант без перекрытия спрайтов :gg:
http://wildmob.ru/promo/10-12/santa_trolls_4.jpg

Изменено Magatino (13.01 / 14:58) (всего 1 раз)
- 13.01.2014 / 15:20
Magatino
  Администратор

Magatino 
Сейчас: Offline
Сортировка по ординат "y".
x0,x9,y0,y9 - видимая часть экрана.
 
  1. for (int i=y0;i<y9;i++)
  2. {
  3.  
  4. for (int j=0;j<units;j++)
  5. if (x[j]>x0)
  6. if (x[j]<x9)
  7. if (y[j]==i)
  8. g.drawImage(enemy[j],x[j],y[j],20)
  9.  
  10. }

- 13.01.2014 / 16:41
DominaN
  Пользователь

DominaN 
Сейчас: Offline
Ну я сейчас перекрытие по z-координате сделал. Но вообще хочу сделать по пиксельной маске, где прозрачная часть не участвует в обработке столкновения, а не прозрачная рисуется цветом (0,0,0) для лучшей компрессии. Проверка столкновения происходит между масками объектов в начале кадра стандартным collidesWith, после чего они скрываются, то есть игрок их никак не видит. Но пока что вымораживает обработка коллизии, можно или запросто застрять, или же проехать через объект задним ходом.
- 13.01.2014 / 16:47
Naik
  Пользователь

Naik 
Сейчас: Offline
DominaN, оригинально :)
- 13.01.2014 / 18:43
warlock
  Пользователь

warlock 
Сейчас: Offline
Magatino (13.01.2014/14:43)
А как же деревья?Там короче такая фигня , в одном случае дерево должно быть выше , а в другом ниже перса , это проблему ты решишь своим способом , но ствол у дерева меньше в ширину чем тайл , короче п
Была такая проблемма у меня в сурвайвеле . Все оч просто . Перса режем пополам , игровые
Объекты тоже режем на две части так что бы нижняя часть по высоте ровнялась верхней половине перса . И выстраиваем слои так что бы верхняя часть объекта была выше двух частей перса , нижняя часть объекта ниже верхней части перса . Правда с координатами отрисовки мучаться в два раза больше , но я придумал свою систему .
- 13.01.2014 / 19:30
Dimon638
  Пользователь

Dimon638 
Сейчас: Offline
warlock, зачем такие сложности, можно просто сортировать объекты через quickSort и они будут нормально отображаться)) . Самый нижний перекрывает более верхнего.
- 13.01.2014 / 20:11
DominaN
  Пользователь

DominaN 
Сейчас: Offline
warlock, В After я пузырьком сортировал так - чем больше world_y объекта, тем позже он должен рисоваться, но саму сортировку я проводил не в лоб по world_y, а по ограничению области коллизии, иными словами брал не world_y, а (world_y + bbox_d). Сортировал только видимые объекты обычным пузырьком, в целом производительность весьма неплохая.
- 14.01.2014 / 01:49
warlock
  Пользователь

warlock 
Сейчас: Offline
DominaN, Помню когда то тестил . Там коллизия была не очень . И все таки некоторые деревья отображались не верно.
- 14.01.2014 / 05:08
samodelkin
  Пользователь

samodelkin 
Сейчас: Offline
Завтра окончание конкурса, наконец получу свой куш и открою корпорацию по разработке игр для андроида.
Наверх  Всего сообщений: 1068
Фильтровать сообщения
Поиск по теме
Файлы топика (34)