我正在Greenfoot教授一堂课,而且我被困在一些似乎微不足道的事情上。
我需要这个选项,每当有人在我的世界中拖动一个演员时,就会触发一个方法。这是怎么做到的?
答案 0 :(得分:0)
只需覆盖演员的addedToWorld()
方法即可。例如,下面的示例定义了一个actor,当插入到世界中时,它总是将自己定位在50,50的位置:
public class MyActor extends Actor {
@Override
public void addedToWorld(World world) {
setLocation(50,50);
}
}
setLocation()
调用当然是任意的,无论您在演员被添加到世界中的任何代码(无论是通过拖放还是以编程方式交互式),都会执行该方法中提供的任何代码。
作为旁注,您还可以在actor的构造函数中添加一些初始化代码,但由于这是在actor放入世界之前发生的,因此设置actor的位置,旋转等的任何代码都将引发异常。