Gridworld-如何从World获得对GridPanel的访问权限

时间:2014-04-29 15:15:46

标签: gridworld

我正在使用Gridworld api为我的Comp Sci类工作一个基本的RPG,我的运动完全正常但我想保持网格以主角为中心,这应该从GridPanel中的recenter方法完成,目前我我正在使用我自己的世界对象,因为这是在main方法中声明的唯一东西,我应该能够从那里获取DisplayPanel对象,但我找不到这样做的方法。有谁知道如何获取当前DisplayPanel对象的实例?

1 个答案:

答案 0 :(得分:0)

使用ActorWorld调用recenter()方法执行此操作:

ActorWorld world = new ActorWorld();
...
world.show();

WorldFrame frame = (WorldFrame) world.frame;
frame.display.recenter(/*Your Location*/);

可悲的是frame是私密的,因此您需要进入WorldFrame并将其声明为公开。如果您仍在使用gridworld.jar作为外部资源,则需要将其所有包导入到您自己的项目中。我解释了它here

如果你不知道recenter()实际上是Location左上角的中心,而不是Grid的实际中心。为此,您需要在recenter()中修改GridPanel方法(第358行)。

希望这会有所帮助,如果您需要帮助从gridworld.jar导入软件包,请告诉我们。