Я создаю игру «Space-invaders style». Вы (игрок) перемещаетесь влево и вправо в нижней части экрана. В каждом окне будет один враг, и вы должны перейти в окно и стрелять.Jave Game Dev: Изображение мерцает?
Я работаю над системой всплывающих врагов. Окно, в котором враг случайен и должен меняться каждые 3 секунды. Вот мой код:
public void render(GameContainer gc, StateBasedGame sbg, Graphics g)
throws SlickException {
playbackground.setFilter(Image.FILTER_NEAREST);
playbackground.draw(0, 0, s*10);
quit.draw((w-175*s),5 *s,s/2);
swegboiplayer.setFilter(Image.FILTER_NEAREST);
//swegboiplayer.draw((w*s)/2-85, 450*s, s*5);
swegboiplayer.draw((w*s)/2-(playery*s), 450*s, s*5);
int enemylocation = new Random().nextInt(2) +1;
if(enemylocation==1){
enemy1.setFilter(Image.FILTER_NEAREST);
enemy1.draw(200,170,s*10);
if(enemylocation==2){
enemy1.setFilter(Image.FILTER_NEAREST);
enemy1.draw(330,480,s*10);
}}
Мне нужен случайный метод, чтобы иметь таймер, чтобы он менялся каждые 3 секунды. Как мне это сделать? На данный момент, если я использую программу, враг находится в окне 1 и мерцает. Я думаю, что он мерцает, потому что случайный метод постоянно выполняется. Кроме того, враг НИКОГДА в окне 2. Что-то не так с методом в целом?
Благодаря
PS Я не могу использовать Thread.sleep() или иначе программа чернеет
Хорошо, спасибо! Как я могу сделать таймер для изменения местоположения противника каждые 3 секунды? – user2302825
Я отредактировал ответ – rosco
Это для Android ... и «расписание» для меня не работает – user2302825