8.02.2012 / 22:26 | |
DominaN Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Смоленск Регистрация: 28.09.2011
| BorderFol, советую хранить direction в int. Это гораздо удобнее и тратит меньше памяти. Чтобы не мучатся с численными значениями объяви в начале класса константы вида private static int DIR_LEFT=2;
private static int DIR_RIGHT = 4;
И так для всех направлений, можно даже создать отдельные константы для движения по диагонали |
9.02.2012 / 13:30 | |
BorderFol Пользователь Сейчас: Offline
Имя: Юрий Бахмацкий Откуда: Хмельницкий Регистрация: 20.08.2011
| помогите с столкновениями : как сделать непроходимость объекта ? сам не знаю как Изменено BorderFol (9.02 / 13:31) (всего 3 раза) |
9.02.2012 / 14:26 | |
Dimon638 Пользователь Сейчас: Offline
Регистрация: 12.04.2011
| BorderFol, сохраняй старые координаты главного героя перед его передвижением(участком в коде, который отвечает за проверку какой джой нажали и куда героя двигать(там налево/направо и т.тд)) и при столкновении возвращай их после передвижения(то есть после участка кода, отвечающего за движение героя))(и само столкновение проверяй где-то чуть-ли не перед отрисовкой Вообщем почти в конце игрового цикла ) Изменено Dimon638 (9.02 / 14:27) (всего 2 раза) |
9.02.2012 / 15:24 | |
BorderFol Пользователь Сейчас: Offline
Имя: Юрий Бахмацкий Откуда: Хмельницкий Регистрация: 20.08.2011
| Как сделать смену картинки оружия через Vector ?
|
9.02.2012 / 15:36 | |
BorderFol Пользователь Сейчас: Offline
Имя: Юрий Бахмацкий Откуда: Хмельницкий Регистрация: 20.08.2011
| как я понял : надо писать int с числами передвижений LEFT=4 и ставить =DIR ?
|
9.02.2012 / 17:16 | |
BorderFol Пользователь Сейчас: Offline
Имя: Юрий Бахмацкий Откуда: Хмельницкий Регистрация: 20.08.2011
| Можно немного кода ?
|
10.02.2012 / 11:27 | |
BorderFol Пользователь Сейчас: Offline
Имя: Юрий Бахмацкий Откуда: Хмельницкий Регистрация: 20.08.2011
| [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 кб.) Скачано 260 раз |
10.02.2012 / 11:32 | |
DominaN Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Смоленск Регистрация: 28.09.2011
| BorderFol (09.02.2012/14:24)Как сделать смену картинки оружия через Vector ?Как добраться в Москву через Новую Зеландию? Что ты там мудришь? Вектор сам по себе медленная штука, а уж менять через него картинки... BorderFol (09.02.2012/14:36)как я понял : надо писать int с числами передвижений LEFT=4 и ставить =DIR ?если у тебя есть константа, допустим static int LEFT = 4, то соответственно в коде делаешь такую проверку: if (current_direction == LEFT) {some shity code};
теоритически ты можешь написать напрямую if (current_direction == 4)...
константы используются чисто для удобства, чтобы не держать в голове кучу числовых значений. |
10.02.2012 / 11:36 | |
DominaN Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Смоленск Регистрация: 28.09.2011
| BorderFol, учти, что методы getX() и getY() для тайлов возвращают координаты верхнего левого угла.
|
10.02.2012 / 11:38 | |
BorderFol Пользователь Сейчас: Offline
Имя: Юрий Бахмацкий Откуда: Хмельницкий Регистрация: 20.08.2011
| я знаю
|