所以问题是:编写一个不返回任何内容的公共类方法jump()。它应该使向导(由三角形表示的类的实例)作为参数传递,从当前单元格向上跳到一个单元格位置,然后返回到原始单元格。
为了正确跟随向导的运动,您需要放慢动画的速度。为了帮助您做到这一点,我们在WizardController类中提供了类方法delay()。
例如,如果你想要100毫秒的延迟,你可以在你的代码中的适当位置插入下面的语句:
请记住在您编写的每个方法中的适当位置使用delay()来激活向导。‘
下面是我的代码:
public static void jump(Wizard wizard1)
{
wizard1.upBy(1);
WizardController.delay(10000);
wizard1.downBy(1);
WizardController.delay(10000);
}
上面的代码可以编译,但是当我执行以下代码来测试它时..“三角形”形状的跳跃速度非常快,没有延迟。即使我在代码中添加了delay.How,我也可以适当地延迟它,这样“三角形”就会等待,然后再向下移动一个。非常感谢
Wizard w = new Wizard(OUColour.PINK, 1);
Triangle t = w.getPersona();
WizardController.jump(w);
发布于 2020-04-04 10:23:38
所以跳跃是这样的。巫师立即跳起来,等待延迟,立即倒下,等待延迟。这是因为程序按照编写的顺序执行代码。
为了解决这个问题并获得一个流畅的跳转,你必须修改upBy()方法,所以在x/y值的增量之间有一个延迟。
https://stackoverflow.com/questions/61026483
复制相似问题