Спокойной ночи друзья.libgdx Фиксированная точка после камеры.rotateAround
У меня возникли проблемы с нанесением неподвижной точки на экране при повороте экрана. Я использовал метод «rotateAround» с позиции игрока.
Мне кажется. Я должен повернуть эту неподвижную точку также с позиции игрока. Я использую это растяжение, узнанное здесь, в stackoverflow.
public void rotate(Vector3 position, Vector3 centerPoint){
this.cosTemp = MathUtils.cosDeg(this.anguloAtual);
this.senTemp = MathUtils.sinDeg(this.anguloAtual);
this.xTemp = centerPoint.x + ((position.x - centerPoint.x) * this.cosTemp) - ((position.y - centerPoint.y) * this.senTemp);
this.yTemp = centerPoint.y + ((position.y - centerPoint.y) * this.cosTemp) + ((position.x - centerPoint.x) * this.senTemp);
position.set(this.xTemp, this.yTemp, 0);
}
На рисунке, что игрок на экране. Я использовал положение плеера, затем называл «camera.project», затем метод «вращается». Появляется неподвижная точка, однако она не точно фиксирована. Я использовал пример фиксированной точки немного впереди игрока.
public void meDesenhar(SpriteBatch spriteBatch) {
spriteBatch.begin();
this.spritePlayer.setPosition(this.positionPlayer.x - (this.spritePlayer.getWidth()/2),
this.positionPlayer.y - this.spritePlayer.getHeight()/2);
this.spritePlayer.draw(spriteBatch);
spriteBatch.end();
originPosition.set(positionPlayer, 0);
fixedPosition.set(positionPlayer.x, positionPlayer.y + 10, 0);
cameraTemp.project(fixedPosition);
cameraTemp.project(originPosition);
cameraManagerTemp.rotate(fixedPosition, originPosition);
Debugagem.drawPointInScreen(Color.BLUE, fixedPosition);
}
Мои вопросы:
1 - я делаю что-то неправильно, или просто это результат округления? Я понял, когда отлаживаю. Позиция игрока немного изменилась после поворота после «camera.project». Примерное положение (540, 320) повернуто (539.99, 320.013)
2 - Я попытался использовать SpriteBatch и использовать метод draw для выполнения вращения, однако он не мог сделать поворот с плеера. Я бы пришел к такому же результату.
3 - Можно ли использовать две камеры? Каждая камера будет слоем. Камера на карте и игрок будет. Другой для фиксированной точки. Это жизнеспособно? Я не мог найти ни одного примера, который работает с несколькими камерами одновременно. Кто-нибудь знает какие-либо примеры, пожалуйста. Я не говорю о хапах или камерах.
Видео следует за.
https://www.youtube.com/watch?v=1Vg8haN5ULE
Спасибо.
Deniz еще раз спасибо. Когда я вернусь домой, я попробую. Есть ли место, где я могу увидеть вашу игру? – Lovera
Работал очень хорошо. Большое спасибо. – Lovera