Наблюдаю некоторое заикание даже при перемещении простого изображения.JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Наблюдаю некоторое заикание даже при перемещении простого изображения.

Сообщение Anonymous »

Недавно я начал разрабатывать игру с использованием Libgdx, потому что с его встроенной природой OpenGL я подумал, что могу ожидать лучшего рендеринга, чем то, что я получаю из игр, построенных в библиотеке Java. < /p>
Однако я сразу столкнулся с проблемой. Я проверил перемещение изображения логотипа Badlogic по умолчанию, а затем заметил, что его движение не совсем плавное. Это не ужасно задержка или что -то в этом роде, но я определенно могу видеть какое -то тонкое заикание каждый часто часто. < /P>
Вот мой код: < /p>
package com.mygdx.game;

import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Input;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.math.Vector2;
import com.badlogic.gdx.utils.ScreenUtils;

public class MyGdxGame extends ApplicationAdapter {
SpriteBatch batch;
Texture img;
Vector2 pos;
float speed;

@Override
public void create () {
batch = new SpriteBatch();
img = new Texture("badlogic.jpg");
pos = new Vector2();
speed = 300f;
}

@Override
public void render () {

float deltaTime = Gdx.graphics.getDeltaTime();
//System.out.println("deltaTime:"+deltaTime);

if(Gdx.input.isKeyPressed(Input.Keys.LEFT)){
pos.x -= deltaTime * speed;
}
if(Gdx.input.isKeyPressed(Input.Keys.RIGHT)){
pos.x += deltaTime * speed;
}

ScreenUtils.clear(1, 0, 0, 1);
batch.begin();
batch.draw(img, pos.x, pos.y);
batch.end();
}

@Override
public void dispose () {
batch.dispose();
img.dispose();
}
}
< /code>
Как я переместил логотип: < /p>

[*] Получите время дельта в методе рендеринга с помощью:
float deltatime = gdx.graphics.getdeltatime ();
На основе ввода ключа (слева/справа), умножьте Deltatime на значение скорости и добавьте к значению x логотипа;
Нарисуйте логотип на основе обновленного x. < /li>
< /ul>

Это все, что я сделал. Я также попытался добавить фиксированное значение (pos.x += 5f;) без использования времени Delta, но результат был таким же. Я все еще мог видеть какое -то тонкое заикание в его движении. "Введите описание изображения здесь" src = "https://i.sstatic.net/jgnbb02c.jpg"/>
Как вы можете видеть с изображения, длина каждого кадра равен Примерно от 0,0167 до 0,0183.
Это подводит меня к двум вопросам: < /p>

FPS проекта установлен на 60, поэтому каждый кадр должен быть 1 / / 60 = 0,0166 ... Второе. Таким образом, каждый кадр занимает немного больше времени, чем предполагалось. Между кадрами, и я подозреваю, что это может быть причиной заиканий. Библиотека Java (Thread, System.nanotime и т. Д.) /> < /p>
В этом случае каждый кадр занимает от 0,01666665 до 0,166668, поэтому разница составляет около 0,0000003, что намного меньше, чем Libgdx 0,0015. И изображение движется более плавнее с этим игрой. Run - довольно простая программа, поэтому я немного запутался. Как я уже говорил в начале, главной привлекательностью Libgdx для меня была лучшая производительность рендеринга, но я не получаю его. < /P>
Я что -то упускаю? Без этой проблемы я действительно люблю libgdx, поэтому я надеюсь решить это и продолжать развиваться с ним.

Подробнее здесь: https://stackoverflow.com/questions/793 ... mple-image
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • (LibGDX) Наблюдаю некоторые заикания даже при перемещении простого изображения.
    Anonymous » » в форуме JAVA
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Увидеть какое -то заикание, даже когда я перемещаю простое изображение
    Anonymous » » в форуме JAVA
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Заикание изображения в Java
    Anonymous » » в форуме JAVA
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Заикание при воспроизведении аудио с использованием NAudio и Opus только при прохождении через сеть
    Anonymous » » в форуме C#
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Положение Lazyvstack или Lazyhstack в Scrollview вызывает заикание
    Anonymous » » в форуме IOS
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»