У меня есть метод, который рисует текстуры во время выполнения.
Я генерирую случайное число, которое изменяет высоту текстуры.
Проблема в том, что во время выполнения создаются все возможные случайные числа, а текстура отображается со всеми видами высот.
Я генерирую случайное число с:
Random r = new Random();
int low = 0;
int high = 30;
int result1 = r.nextInt(high-low) + low;
Вот мой drawTower()
метод:
private void drawTower() {
batcher.draw(AssetLoader.texture1, tower1.getX(), tower1.getY() + tower1.getHeight() - result1,
tower1.getWidth(), midPointY - (tower1.getHeight()));
}
Вы можете видеть, что есть result1
, который является случайно сгенерированным числом.
Теперь проблема : в моем методе render()
я использую этот метод drawTower()
, что является причиной создания всех возможных случайных чисел.
Как я могу исправить эту проблему? Я думал о генерации случайного числа, и через определенный промежуток времени генерируется новое случайное число. Но я не знаю, как это делается.
public void render(float runTime) {
Wizard wizard = myWorld.getWizard();
// Fill the entire screen with black, to prevent potential flickering.
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
// Begin ShapeRenderer
shapeRenderer.begin(ShapeRenderer.ShapeType.Filled);
// Draw Background color
shapeRenderer.setColor(55 / 255.0f, 80 / 255.0f, 100 / 255.0f, 1);
shapeRenderer.rect(0, 0, 136, midPointY + 66);
// End ShapeRenderer
shapeRenderer.end();
// Begin SpriteBatch
batcher.begin();
batcher.enableBlending();
batcher.draw(AssetLoader.texture0,
wizard.getX(), wizard.getY(), wizard.getWidth(), wizard.getHeight());
// Draw Tower
drawTower();
// End SpriteBatch
batcher.end();
}