9.03.2012 / 17:47 | |
BorderFol ![](../theme/webdefault/images/m.png) Пользователь
Сейчас: Offline
Имя: Юрий Бахмацкий Откуда: Хмельницкий Регистрация: 20.08.2011
| Misha,всё просто а насчет стороны столкновения надо просто если у тебя например как в танчиках пользоваться методом int fra = namesprite.getFrame() , он вернёт в "fra" frame твоего спрайта И что с того ? на номер фрейма наплевать , сторону столкновения нужно узнать чтобы сделать непроходимость объекта
|
9.03.2012 / 18:25 | |
Dimon638 ![](../theme/webdefault/images/m.png) Пользователь
Сейчас: Offline
Регистрация: 12.04.2011
| BorderFol, Эмм, ну дык можно сделать такое условие "если столкновение=true и спрайт героя повёрнут вправо, значит герой подошёл к препятствию с левой стороны" ![:gy:](https://annimon.com/files/smiles/23.gif) Хотя, это немного бредово звучит =) Непроходимость объектов лучше делать через запоминание старых координат их возвращения Вот как-то так: int heroX=oldX; int heroY=oldY; /* код хождения героя */ /*ещё какой-нибудь код*/ /*код проверки столкновений(через родной метод collidesWith(...)): если столкнулся, то heroX=oldX; heroY=oldY; */ /*код отрисовки */ |
9.03.2012 / 19:35 | |
BorderFol ![](../theme/webdefault/images/m.png) Пользователь
Сейчас: Offline
Имя: Юрий Бахмацкий Откуда: Хмельницкий Регистрация: 20.08.2011
| Dimon638, делал так раньше, в итоге при столкновении все прыгает(тайлы карты), что связано с камерой
|
9.03.2012 / 19:53 | |
denigons ![](../theme/webdefault/images/m.png) Пользователь
Сейчас: Offline
Имя: Denis Регистрация: 06.07.2010
| BorderFol, просто сделай несколько тайледлаеров и все там например земля>блоки>деревья и т.д и все потом с одним из них проверяй столкновения ![;-)](https://annimon.com/files/smiles/106.gif) но тогда карты сложно будет делать проверено ![:-(](https://annimon.com/files/smiles/98.gif) !!! |
9.03.2012 / 20:25 | |
Dimon638 ![](../theme/webdefault/images/m.png) Пользователь
Сейчас: Offline
Регистрация: 12.04.2011
| А профи в геймдеве ВООБЩЕ не юзают ..lcdui.game.*; Всё делают ручками, через Image То есть абсолютно свой Спрайт, свой Тайловый движок и т. д. И всё на простом Canvas'е) И движки намного функциональней получаются) ![:gg:](https://annimon.com/files/smiles/22.gif) Открыть спойлер Закрыть спойлер P.S. для пруфа: достаточно декомпильнуть пару геймлофтовских игрушек) Знаменитый Art Of War 2 тоже без пакета Game кстати написан. Изменено Dimon638 (9.03 / 20:28) (всего 2 раза) |
9.03.2012 / 20:58 | |
denigons ![](../theme/webdefault/images/m.png) Пользователь
Сейчас: Offline
Имя: Denis Регистрация: 06.07.2010
| Dimon638, ха свой движок сложно писать ![:-(](https://annimon.com/files/smiles/98.gif) |
9.03.2012 / 21:12 | |
Dimon638 ![](../theme/webdefault/images/m.png) Пользователь
Сейчас: Offline
Регистрация: 12.04.2011
| denigons, ха, а никто не говорит что это легко ![;-)](https://annimon.com/files/smiles/106.gif) Тем более я же не заставляю тебя его делать)) ![:-D](https://annimon.com/files/smiles/97.gif) Изменено Dimon638 (9.03 / 21:12) (всего 1 раз) |
9.03.2012 / 21:30 | |
Magatino ![](../theme/webdefault/images/m.png) Администратор
Сейчас: Offline
Имя: Alexandr Откуда: Где Ленин родился. Simbirsk City Регистрация: 28.01.2011
| Dimon638, А как делать приоритет drawImage? Если приоритет меняться должен постоянно,к примеру человечек выше дома,а потом под домом.
|
9.03.2012 / 21:48 | |
Dimon638 ![](../theme/webdefault/images/m.png) Пользователь
Сейчас: Offline
Регистрация: 12.04.2011
| Magatino, Гыг, я и сам не знаю ![:hack:](https://annimon.com/files/smiles/26.gif) Но в геймлофте такое есть, то есть можно например забежать за куст и он закроет перса, а можно стоять ниже куста, и тогда перс закрывает куст) А как это сделано я и сам не знаю(( Но хотел бы знать ![:gg:](https://annimon.com/files/smiles/22.gif) |
9.03.2012 / 22:14 | |
Andrey ![](../theme/webdefault/images/m.png) Пользователь
Сейчас: Offline
Имя: Андрей Откуда: Запорожье Регистрация: 24.10.2011
| Ну вы и тугие люди,а так не пробывали:
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);} }
|