我试图了解libgdx的系统坐标时发疯了。 我在舞台中央制作了一个容器网格(扩展容器的类,并用Vector2引用了它们的屏幕位置)。现在,当用户点击任何这些插槽时,他可以添加一个actor(有一个Sprite)。我的演员需要做的第一件事是初始化他的精灵。
普通人第一件事就是"好吧,我必须设置精灵的位置。我可以参考其Container的位置(Vector2)并将该位置用于我的Sprite"
所以,我做到了:
@Override
protected void initActor() {
Texture texture = new Texture(Gdx.files.internal("blue_square.png"));
sprite = new Sprite(texture, texture.getWidth(), texture.getHeight());
sprite.setPosition(getSlotActor().getPosition().x, getSlotActor().getPosition().y);
}
我的网格是5x5。如果我点击中间一行,Sprite碰巧在正确的位置,如果我点击第二行,它发生在第四行,如果我点击第一行它发生在第五行,如果我点击在第五个,它发生在第一个,依此类推......
我无法理解这种行为..