slick2d Стрельба персонажа
|
|
dwarven | Дата: Пятница, 27 Сентября 2013, 23:26 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| Привет всем начинающий "игродел" не могу придумать как сделать вылет пуль с задержкой происходит вот что :
собственно куски кода
Код public void render() { if(temp==1) { tem=tem+25; sprite.draw(bull.x+54, tem); } } Это именно класс булет
и в главном классе подача на отрисовку Код try { for(int i=0;i<10;i++ , Thread.sleep(del)){ bull.render(); del+=10; } } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); }
Понимаю, что сделано не рационально, но хочу именно так ибо делаю сам и получаю опыт для себя, а не для кого либо! Движок Slick2d Java + lwjgl подскажите как сделать! зарание благодарен!
|
|
| |
x-and1988 | Дата: Пятница, 27 Сентября 2013, 23:54 | Сообщение # 2 |
постоянный участник
Сейчас нет на сайте
| Ужас, стопорить тред для вылета пулек? Там же есть метод update(int delta) -вызывается каждый в каждом кадре, после рендера по-моему. В нём и делай. Я бы, например, ввел бы переменную времени -int time; каждый тик просто добавлял к нему дельту - таким образом имеем внутриигровое время. А потом от этого времени можно исходить - например, как давно был сделан последний выстрел.
псевдокод: int time = 0; int lastShoot = 0;
public void update(int delta){ time+=delta;
if (lastShoot+100 < time){ shoot(); lastShoot = time; } }
PS достаточно долго пользовался Slick2d - советую переходить на libgdx - им занимаются гораздо активней, на нём больше платформ, он производительней, у него больше документации.
Изучаю Java My new project My old project
|
|
| |
DARKLORD | Дата: Суббота, 28 Сентября 2013, 00:51 | Сообщение # 3 |
был не раз
Сейчас нет на сайте
| Цитата PS достаточно долго пользовался Slick2d - советую переходить на libgdx - им занимаются гораздо активней, на нём больше платформ, он производительней, у него больше документации. Икс, ну ты нашел кому советовать переходить куда-то. Пусть учится на слике, он проще. А главное пусть учится писать нормальный, валидатный код.
|
|
| |
dwarven | Дата: Суббота, 28 Сентября 2013, 01:34 | Сообщение # 4 |
был не раз
Сейчас нет на сайте
| коней на переправе не меняют. Спасибо попробую сделать так(я сделал так называемый метод в лоб как думал)Добавлено (28.09.2013, 01:34) ---------------------------------------------
Цитата (DARKLORD) Икс, ну ты нашел кому советовать переходить куда-то. Пусть учится на слике, он проще. А главное пусть учится писать нормальный, валидатный код. По поводу валидности, есть такой грешок у меня ,в начале в лоб потом рефакторинг долгий и упорный. Все мы учимся рано или поздно(
|
|
| |
x-and1988 | Дата: Суббота, 28 Сентября 2013, 01:43 | Сообщение # 5 |
постоянный участник
Сейчас нет на сайте
| Цитата (dwarven) коней на переправе не меняют. А зря, так придется привыкать и узнавать одну архитектуру, а потом менять на другую. А менять то надо будет...
Изучаю Java My new project My old project
|
|
| |
dwarven | Дата: Суббота, 28 Сентября 2013, 01:46 | Сообщение # 6 |
был не раз
Сейчас нет на сайте
| Цитата (x-and1988) А зря, так придется привыкать и узнавать одну архитектуру, а потом менять на другую. А менять то надо будет... Я студент написал курсовой проект забыл)
|
|
| |
x-and1988 | Дата: Суббота, 28 Сентября 2013, 03:55 | Сообщение # 7 |
постоянный участник
Сейчас нет на сайте
| Цитата (dwarven) Я студент написал курсовой проект забыл) Я то думал хобби... В таком случае да, что начал, то и делай.
Изучаю Java My new project My old project
|
|
| |
dwarven | Дата: Суббота, 28 Сентября 2013, 17:07 | Сообщение # 8 |
был не раз
Сейчас нет на сайте
| Цитата (x-and1988) Я то думал хобби... В таком случае да, что начал, то и делай. Желаение есть=(Времени нету дали курсовой на яве нужно сделать и забыть)Добавлено (28.09.2013, 17:07) ---------------------------------------------
Код time+=delta; trans.y = -0.9f * time*0.1f; bull.y+=trans.y; переписал код в метод update сделал, как вы выразились более валидным, но вижу как летит снаряд только при зажатии кнопки
Скорость пробывал меньше сделать(
|
|
| |