Понедельник, 11 Ноября 2024, 09:11

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
LWJGL проблема с обновлением экрана
JuwellДата: Вторник, 01 Января 2013, 23:55 | Сообщение # 1
участник
Сейчас нет на сайте
Доброго времени суток форумчане! Изучаю LWJGL и столкнулся с проблемой обновления экрана. Вот исходники моего кода.

Заранее спасибо happy

Добавлено (01.01.2013, 23:55)
---------------------------------------------
что никто не работал с lwjgl? sad

jackbvДата: Среда, 02 Января 2013, 00:31 | Сообщение # 2
почетный гость
Сейчас нет на сайте
Опиши проблему, в чем она заключается?

- Java
- PHP, JavaScript
- HTML/CSS
DeadlySquare
Run or Die
Super SQUARE
JuwellДата: Среда, 02 Января 2013, 00:44 | Сообщение # 3
участник
Сейчас нет на сайте
при нажатии кнопок квадрат должен двигаться. вроде все правильно написано, но не пашет( подскажите в чем проблема

Добавлено (02.01.2013, 00:44)
---------------------------------------------
для рендера текстур использовал slick. может из-за этого проблема?

jackbvДата: Среда, 02 Января 2013, 02:46 | Сообщение # 4
почетный гость
Сейчас нет на сайте
Попробуй заменить


на



Render.render() перепиши на



И еще маленький косячёк в keyboard:
Замени
Код
player.xSpeed -= -5;
на
Код
player.xSpeed = -5;


Вот! теперь объясняю:

В классе Main, методе init() находится главный игровой цикл:

Код
while(!Display.isCloseRequested()){

       // Вот тут находится главный игровой цикл!

}


В твоём коде ты каждый раз, при каждой итерации цикла заново создаёшь игрока, инициализируешь OpenGL, и тд... нафига? всё это надо делать только один раз, в начале. Кстати, внегласное правило между всеми java прогерами: названия классов начинаются с ЗАГЛАВНОЙ буквы! Не "keyboard" а "Keyboard" и тд... для программы это не важно, а на читабильность кода влияет.

Незнаю если решил все косяки, не запускал, но самые явные поправил. Обращайся!

Добавлено (02.01.2013, 02:46)
---------------------------------------------
еще косяк нашёл:

Класс keyboard перепиши на:



и сделай переменную player(из Main) публичной.

Вот чёрт, только щас подумал что мог отправить тебе уже поправленые сорцы sad

Запомни: обновляется(update) и выводится на экран только экземпляр класса Player из переменной player в классе Main! Если ты хочешь управлять игроком с экрана ты должен работать именно с этой переменной(Main.player)! Не стоит для каждого класса создавать своего игрока, игрок должен быть только один и его ты уже создаешь, обновляешь и выводишь в классе Main, с ним и работай.


- Java
- PHP, JavaScript
- HTML/CSS
DeadlySquare
Run or Die
Super SQUARE


Сообщение отредактировал jackbv - Среда, 02 Января 2013, 02:54
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг