我正在创建一个程序,它是旧游戏Frogger的娱乐。游戏的一个关键部分是青蛙跳过原木并到达河的另一边。然而,当我让青蛙从道路移动到日志时,青蛙被定位在日志的图像下而不是日志的顶部。我怎样才能使青蛙图像位于日志图像上方?
我没有onDraw()方法,至少我没写过。这是我班上的作业,我们使用一个名为Greenfoot4Sofia的程序。我创建了一个名为Log的Actor的子类,我只是在程序中使用了一个选项,将actor的图像设置为日志的图像,类似于青蛙。
答案 0 :(得分:0)
Greenfoot显然不是为了让这类事情变得简单而设立的,而是针对新程序员......好奇。
所以,我不熟悉Greenfoot,但查看API docs,我注意到World
个对象有一个setPaintOrder(Class...)
方法。也许你可以使用它?如果你还没有,我会把日志作为扩展Actor的类,即.-
public class Log extends Actor {
// whatever code you have for your log
}
为你的青蛙做同样的事。
然后(也许)你可以调用setPaintOrder()
的{{1}}方法,即.-
World
这显然不是你可以复制/粘贴的那种代码,但希望它会让你走上正确的道路。您可能还需要绘制其他内容,因此您只需创建一个Class数组即可传递给myWorld.setPaintOrder( Log.class, Frogger.class );
:
setPaintOrder
我希望有所帮助。