0
Этот фрагмент кода вращает шрифта на 180 градусов:Что означают значения в Vector3?
Matrix4 mx4Font = new Matrix4();
BitmapFont font;
SpriteBatch spriteFont;
font = new BitmapFont(Gdx.files.internal("data/font/agencyFB.fnt");
Gdx.files.internal("data/font/agencyFB.png"), true); //must be set true to be flipped
mx4Font.setToRotation(new Vector3(200, 200, 0), 180); <---------------------
spriteFont.setTransformMatrix(mx4Font);
spriteFont.begin();
font.setColor(1.0f, 1.0f, 1.0f, 1.0f);
font.draw(spriteFont, "The quick brown fox jumped over the lazy dog", 100, 110);
spriteFont.end();`
Я знаю, что используется для определения осей, но если было только, что мы могли бы использовать 0 или 1 ...
Проблема в том, что когда я пытаюсь повернуть шрифт, он исчезает на экране, независимо от того, использую ли я 1 200. В OpenGL это может произойти, когда центр вращения не является источником. Есть ли способ сказать, что я хочу повернуть вокруг начала (x = 0, y = 0)? – user3365436
@ user3365436 перевести на центр, повернуть, перевести назад – vandale
Я только что попытался сделать то, что вы сказали. Но сначала Один вопрос, при применении преобразований к матрице, должен ли быть в обратном порядке, как OpenGL? Я написал этот кусок кода: matrix.setToTranslation (-200, -200, 0); \t matrix.setToRotation (новый Vector3 (1, 1, 0), 90); \t matrix.setToTranslation (200, 200, 0); \t \t \t \t \t batch.setTransformMatrix (matrix); \t \t \t \t batch.begin(); \t font.draw (партия, «Победитель1», 200, 200); \t batch.end(); Но он просто не вращается и позиция меняется на (400, 400). – user3365436