Вниз  Игра "CounterStrike2D Portable"
- 12.02.2012 / 12:30
Zvers
  Пользователь

Zvers 
Сейчас: Offline
BorderFol, if(числьо>=10&&числьо<=40) {

}
- 12.02.2012 / 14:03
BorderFol
  Пользователь

BorderFol 
Сейчас: Offline
  1. if(player.collidesWith(tl1, collide)){
  2.   if(x+w<x0){
  3.       x-=a;
  4.   }
  5.    if(x>x0+w0){
  6.        x+=a;    
  7.   }
  8.     if(y>y0+h0){
  9.         y+=a;
  10.   }
  11.   }

Написал такой код и столкновения вообще пропали :-(
- 12.02.2012 / 14:24
XakepPRO
  Модератор форума

XakepPRO 
Сейчас: Offline
BorderFol, посмотри, выполнятся ли самое главное верхнее условие:
  1. if(player.collidesWith(tl1, collide)){ System.out.println("player.collidesWith(tl1, collide) = true"); }
И в консоли (например, в кемуле) посмотри результат. Если строка выполняется, то выясняй причину дальше.

А вообще, было бы неплохо, если ты выложил весь исходный код, а не его кусочек.

Изменено XakepPRO (12.02 / 14:25) (всего 1 раз)
- 12.02.2012 / 14:35
BorderFol
  Пользователь

BorderFol 
Сейчас: Offline
XakepPRO,
  1. if(player.collidesWith(tl1, collide)){
  2.   if(player.getX()+player.getWidth()-10<tl1.getX()){
  3.       x-=a;
  4.   }
  5.    if(player.getX()>tl1.getX()+tl1.getWidth()-10){
  6.        x+=a;    
  7.   }
  8.     if(player.getY()>tl1.getY()+tl1.getHeight()-10){
  9.         y+=a;
  10.   }
  11.   }
Это на 3 стороны

Изменено BorderFol (12.02 / 14:38) (всего 3 раза)
- 12.02.2012 / 15:18
XakepPRO
  Модератор форума

XakepPRO 
Сейчас: Offline
BorderFol, ок, скажу по-другому, если выложишь весь класс.
- 13.02.2012 / 07:09
Dimon638
  Пользователь

Dimon638 
Сейчас: Offline
BorderFol, Ещё, как вариант создания непроходимых объектов:
Убери все текущие условия столкновений, и к подобным условиям:
if(napravlenie==RIGHT)
{
  //Герой идет вправо
}
<...> (и на все остальные 3 стороны)
Добавь следующее:
if(!hero.collidesWith(TiledLayer,true)&&napravlenie==RIGHT)
{
  //Герой идет вправо
}
 
Надеюсь понял логику :-)
Если столкновений щас нет и нажали вправо, значит можно двигать героя, если произошло столкновение, то условие не выполнится и движения не произойдет. :-)

Изменено Dimon638 (13.02 / 07:14) (всего 1 раз)
- 13.02.2012 / 10:58
BorderFol
  Пользователь

BorderFol 
Сейчас: Offline
я это пробывал но вот в чем нюанс :
когда ты двигался вправо а потом повернул вверх прямо перед блоком то сам понимаешь что случится
герой не сможет двигатся вообще потому что он столкнулся в объектом
Поэтому нужно находить место где произошло столкновение

Изменено BorderFol (13.02 / 11:00) (всего 1 раз)
- 13.02.2012 / 11:01
BorderFol
  Пользователь

BorderFol 
Сейчас: Offline
XakepPRO, зачем тебе ?
- 13.02.2012 / 11:28
DominaN
  Пользователь

DominaN 
Сейчас: Offline
BorderFol, на твой пост (13.02.2012 / 09:58) отвечу, Тогда делай проверку столкновения collidesWith(some_shit,false), а пиксельную точность используй только для трейса оружия.
- 13.02.2012 / 11:32
BorderFol
  Пользователь

BorderFol 
Сейчас: Offline
так столкновения уже сделал в новой версиии в шапнке темы
Наверх  Всего сообщений: 883
Фильтровать сообщения
Поиск по теме
Файлы топика (44)