Я использую библиотеку игр Slick2D Java, и я хочу установить масштаб графического объекта, который передается методу рендеринга в моем игровом цикле. Я хотел бы сделать это вне метода render, так что мне нужно было бы только один раз вызвать метод setScale(). Я реализую свою игру как StateBasedGame, поэтому мне бы хотелось инициализировать мой графический объект в моем классе StateBasedGame. Где было бы подходящим местом для этого?Slick2D: Инициализация графического объекта до игрового цикла
0
A
ответ
1
В методе Init, где вы должны инициализировать свое изображение. Я могу расширить это, но ваш вопрос, похоже, подтверждает, что вы уже знаете, как масштабировать изображение.
EDIT: После перечитывания вопроса ответ будет заключаться в том, что вам нужно масштабировать его каждый раз, когда вы входите в метод рендеринга вашего объекта gamestate. Это требует, чтобы вы поместили graphics.scale (0.5f, 0.5f);
Это, как мне кажется, требуется, поскольку графический объект сбрасывает масштаб каждой игры, так что вы не получаете укомплектованный эффект, так как он вызывает метод визуализации сотни раз.
Смежные вопросы
- 1. Реализация игрового графического интерфейса
- 2. Написание лучшего игрового цикла
- 3. Node.js: печать графического объекта с обнаружением цикла?
- 4. Приостановка игрового цикла?
- 5. Построение игрового графического интерфейса в java
- 6. Ограничение игрового цикла до 20 кадров в секунду
- 7. Прокрутка игрового объекта Android
- 8. Вращение игрового объекта
- 9. Уничтожение игрового объекта
- 10. Создать копию игрового объекта
- 11. Определить угол игрового объекта
- 12. Инициализация объекта объекта Javascript
- 13. Инициализация эталона и инициализация объекта
- 14. std :: vector - оптимизация во время игрового цикла
- 15. Трудности выбора движущегося игрового объекта
- 16. Инициализация переменной внутри цикла
- 17. Инициализация переменных внутри цикла
- 18. GAE python backend для игрового цикла
- 19. Выбор графического объекта
- 20. Рисование графического объекта
- 21. Печать графического объекта VB.NET
- 22. Печать графического объекта
- 23. Выполнение перемещения графического объекта
- 24. Как ограничить вращение игрового объекта в единстве3d
- 25. Инициализация объекта async C#
- 26. Обнаружение победителя и создание игрового цикла
- 27. Android Countdowntimer с проблемой игрового цикла
- 28. Невозможно нарисовать JPanel во время игрового цикла
- 29. Использование NSThread для создания игрового цикла
- 30. Лучший способ выйти из игрового цикла
Я попытался вызвать 'container.getGraphics(). Scale (0.5f, 0.5f);' в контейнере 'initStatesList (GameContainer container)', но это не имеет никакого эффекта. Я предполагаю, что объект Graphics, который передается в каждый GameState, создается каждый раз заново? Это то, о чем вы говорили, или у вас есть дополнительные предложения? – user2066880
О, я неправильно прочитал ваш оригинальный вопрос. Я думал, вы просите сделать что-то с изображением, а не с графическим объектом haha (немного устал). Что касается того, о чем вы просите, было бы неразумно это делать (читай: правильно обрабатывая одиночные игры), но то, что вы пытаетесь выполнить, должно быть в отредактированном ответе выше. Если вам нужна дополнительная помощь, отправьте код, и я буду рад помочь вам. Я сделал много работы с пятнами и хорошо знаю свой путь. – Samich
Хорошо, я понимаю, спасибо за разъяснение. Тем не менее, при этом он имеет немного запаха кода для того, как я намереваюсь его использовать. Я использую метод 'graphics.scale()', чтобы соответствовать игре с любым разрешением. Если мне нужно называть это каждый рендер, это означает, что я должен поместить одну и ту же строку кода в каждый метод рендеринга в каждом состоянии. Есть ли лучший способ решить эту проблему? – user2066880