我需要的是與運營商一起旋轉飛船,我要解釋,我從一開始就開始有這樣的:在矢量如何隨着精靈旋轉矢量?
點A爲原點,並與一致宇宙飛船的精靈。 現在,我的問題是,當航天器旋轉時,飛船頭部的紅點(這是另一個精靈)必須留在頭上。
如果我與觸摸屏旋轉飛船,我可以用紅點停留B點定期。
這是因爲我不得不餵食太空船,所以我可以比較船舶的起點和紅點的位置,以獲得它必須繼續的方向。
我是新來的libgdx。 我希望我很清楚。
謝謝
提取我的代碼:
sprite.setPosition(Gdx.graphics.getWidth()/2 - sprite.getWidth()/2, Gdx.graphics.getHeight()/2 - sprite.getHeight()/2);
point.setPosition(sprite.getX() + (sprite.getWidth()/2 - point.getWidth()/2), sprite.getY() + (sprite.getHeight()/2 + point.getHeight()/2));
if(Gdx.input.isButtonPressed(Input.Buttons.LEFT)){
if(Gdx.input.getX() < Gdx.graphics.getWidth()/2)
{
//System.out.println("x: " + Gdx.input.getX() + " - y: " + Gdx.input.getY());
sprite.setRotation(rotation++);
point.setPosition(sprite.getX() + (sprite.getWidth()/2 - point.getWidth()/2), sprite.getY() + (sprite.getHeight()/2 + point.getHeight()/2));
}
else
{
//System.out.println("x: " + Gdx.input.getX() + " - y: " + Gdx.input.getY());
sprite.setRotation(rotation--);
point.setPosition(sprite.getX() + (sprite.getWidth()/2 - point.getWidth()/2), sprite.getY() + (sprite.getHeight()/2 + point.getHeight()/2));
}
}
編輯答案 後,我已經添加了代碼演員
public class MyActor extends Actor {
Sprite sprite;
public MyActor() {
sprite = new Sprite();
sprite.setTexture(new Texture("rocket.png"));
setWidth(sprite.getWidth());
setHeight(sprite.getHeight());
setBounds(0, 0, getWidth(), getHeight());
setTouchable(Touchable.enabled);
setX(200);
setY(100);
}
@Override
public void draw(Batch batch, float parentAlpha) {
Color color = getColor();
batch.setColor(color.r, color.g, color.b, color.a * parentAlpha);
batch.draw(sprite, getX(), getY());
}
}
,但我不知道的實施...你能給我一些建議嗎?
謝謝你,我編輯了問題 –