在我的舞台上,我添加了几个演员。我为演员和舞台本身设置了输入处理器。
问题是,当我点击演员时,演员的命中方法会收到相当大的 x 和 y 值(我可以在调试时看到这一点),这意味着这些 x 和 y 没有转换为演员坐标系中的适当坐标. 文档说明了副版本。
我错过了那里的东西吗?任何帮助表示赞赏。
我的项目和演员的位置有很多问题。
如果您的 Actor 已分组,请尝试使用组的 stageToLocalCoordinates、localToParentCoordinates。
如果它是唯一的 Actor,请尝试覆盖 setX 和 setY 或 setPosition 方法,并将您的坐标放入 Actor 的构造函数中。这对我有用。使用此方法,Actor 将具有与舞台相同的坐标系。
利用
Vector2 coords = stage.screenToStageCoordinates(new Vector2(Gdx.input.getX(), Gdx.input.getY()));
然后使用 coords.x 和 coords.y 作为 stage.hit() 函数中的新坐标