Вниз  Игра "CounterStrike2D Portable"
- 8.02.2012 / 22:26
DominaN
  Пользователь

DominaN 
Сейчас: Offline
BorderFol, советую хранить direction в int. Это гораздо удобнее и тратит меньше памяти. Чтобы не мучатся с численными значениями объяви в начале класса константы вида
  1. private static int DIR_LEFT=2;
  2. private static int DIR_RIGHT = 4;
И так для всех направлений, можно даже создать отдельные константы для движения по диагонали :)
- 9.02.2012 / 13:30
BorderFol
  Пользователь

BorderFol 
Сейчас: Offline
помогите с столкновениями :
как сделать непроходимость объекта ?
сам не знаю как :-(

Изменено BorderFol (9.02 / 13:31) (всего 3 раза)
- 9.02.2012 / 14:26
Dimon638
  Пользователь

Dimon638 
Сейчас: Offline
BorderFol, сохраняй старые координаты главного героя перед его передвижением(участком в коде, который отвечает за проверку какой джой нажали и куда героя двигать(там налево/направо и т.тд)) и при столкновении возвращай их после передвижения(то есть после участка кода, отвечающего за движение героя))(и само столкновение проверяй где-то чуть-ли не перед отрисовкой :hack: :-D Вообщем почти в конце игрового цикла :gg: )

Изменено Dimon638 (9.02 / 14:27) (всего 2 раза)
- 9.02.2012 / 15:24
BorderFol
  Пользователь

BorderFol 
Сейчас: Offline
Как сделать смену картинки оружия через Vector ?
- 9.02.2012 / 15:36
BorderFol
  Пользователь

BorderFol 
Сейчас: Offline
как я понял : надо писать int с числами передвижений LEFT=4 и ставить =DIR ?
- 9.02.2012 / 17:16
BorderFol
  Пользователь

BorderFol 
Сейчас: Offline
Можно немного кода ?
- 10.02.2012 / 11:27
BorderFol
  Пользователь

BorderFol 
Сейчас: Offline
[code][/code] if(player.collidesWith(tl1, false))
    if(player.getX()>tl1.getX())
    x+=a;
    if(player.collidesWith(tl1, false))
        if(player.getX()<tl1.getX())
           x-=a;
    if(player.collidesWith(tl1, false))
        if(player.getY()>tl1.getY())
           y+=a;
    if(player.collidesWith(tl1, collide))
        if(player.getY()<tl1.getY())
           y-=a;[code][/code]
Вот написал такой код столкновения и в итоге


Прикрепленные файлы:
CS2DPortable.jar (136.6 кб.) Скачано 244 раза
- 10.02.2012 / 11:32
DominaN
  Пользователь

DominaN 
Сейчас: Offline
BorderFol (09.02.2012/14:24)Как сделать смену картинки оружия через Vector ?Как добраться в Москву через Новую Зеландию? Что ты там мудришь? Вектор сам по себе медленная штука, а уж менять через него картинки...
BorderFol (09.02.2012/14:36)как я понял : надо писать int с числами передвижений LEFT=4 и ставить =DIR ?если у тебя есть константа, допустим static int LEFT = 4, то соответственно в коде делаешь такую проверку:
  1. if (current_direction == LEFT) {some shity code};
теоритически ты можешь написать напрямую
  1. if (current_direction == 4)...
константы используются чисто для удобства, чтобы не держать в голове кучу числовых значений.
- 10.02.2012 / 11:36
DominaN
  Пользователь

DominaN 
Сейчас: Offline
BorderFol, учти, что методы getX() и getY() для тайлов возвращают координаты верхнего левого угла.
- 10.02.2012 / 11:38
BorderFol
  Пользователь

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