Вниз  Java-программирование (1-ые посты)
- 9.03.2012 / 17:47
BorderFol
  Пользователь

BorderFol 
Сейчас: Offline
Misha,всё просто
а насчет стороны столкновения надо просто если у тебя например как в танчиках пользоваться методом
int fra = namesprite.getFrame()
, он вернёт в "fra" frame твоего спрайта
И что с того ? на номер фрейма наплевать , сторону столкновения нужно узнать чтобы сделать непроходимость объекта
- 9.03.2012 / 18:25
Dimon638
  Пользователь

Dimon638 
Сейчас: Offline
BorderFol, Эмм, ну дык можно сделать такое условие "если столкновение=true и спрайт героя повёрнут вправо, значит герой подошёл к препятствию с левой стороны" :gy:
Хотя, это немного бредово звучит =)
Непроходимость объектов лучше делать через запоминание старых координат их возвращения ;-)

Вот как-то так:

int heroX=oldX;
int heroY=oldY;

/*
код хождения героя
*/

/*ещё какой-нибудь код*/

/*код проверки столкновений(через родной метод collidesWith(...)):
если столкнулся, то heroX=oldX; heroY=oldY;
*/


/*код отрисовки */
- 9.03.2012 / 19:35
BorderFol
  Пользователь

BorderFol 
Сейчас: Offline
Dimon638, делал так раньше, в итоге при столкновении все прыгает(тайлы карты), что связано с камерой
- 9.03.2012 / 19:53
denigons
  Пользователь

denigons 
Сейчас: Offline
BorderFol, просто сделай несколько тайледлаеров и все там например земля>блоки>деревья и т.д и все потом с одним из них проверяй столкновения ;-) но тогда карты сложно будет делать проверено :-( !!!
- 9.03.2012 / 20:25
Dimon638
  Пользователь

Dimon638 
Сейчас: Offline
А профи в геймдеве ВООБЩЕ не юзают ..lcdui.game.*; Всё делают ручками, через Image :hack:
То есть абсолютно свой Спрайт, свой Тайловый движок и т. д. И всё на простом Canvas'е)
И движки намного функциональней получаются) :gg:
Открыть спойлер


Изменено Dimon638 (9.03 / 20:28) (всего 2 раза)
- 9.03.2012 / 20:58
denigons
  Пользователь

denigons 
Сейчас: Offline
Dimon638, ха свой движок сложно писать :-(
- 9.03.2012 / 21:12
Dimon638
  Пользователь

Dimon638 
Сейчас: Offline
denigons, ха, а никто не говорит что это легко :hack: ;-)
Тем более я же не заставляю тебя его делать)) :-D

Изменено Dimon638 (9.03 / 21:12) (всего 1 раз)
- 9.03.2012 / 21:30
Magatino
  Администратор

Magatino 
Сейчас: Offline
Dimon638, А как делать приоритет drawImage?
Если приоритет меняться должен постоянно,к примеру человечек выше дома,а потом под домом.
- 9.03.2012 / 21:48
Dimon638
  Пользователь

Dimon638 
Сейчас: Offline
Magatino, Гыг, я и сам не знаю :hack: Но в геймлофте такое есть, то есть можно например забежать за куст и он закроет перса, а можно стоять ниже куста, и тогда перс закрывает куст) А как это сделано я и сам не знаю(( Но хотел бы знать :gg:
- 9.03.2012 / 22:14
Andrey
  Пользователь

Andrey 
Сейчас: Offline
Ну вы и тугие люди,а так не пробывали:

public void paint(Graphics g) {
если зади дома то, vid=1;
если спереди дома то,vid=2;

if (vid==2) { g.drawImage(dom,domx,domy,20);}

g.drawImage(hero,herox,heroy,20);

if (vid==1) { g.drawImage(dom,domx,domy,20);}
}
Наверх  Всего сообщений: 16875
Фильтровать сообщения
Поиск по теме
Файлы топика (794)