我正在为MIT Scratch中的教育编写一个简单的游戏,并希望将精灵转向转向另一个精灵(想想跟随我们的英雄船的外星人船)。我可以轻松地将外星人船指向朝向英雄:
point towards 'hero'
但我真正想做的事情是更加渐进的事情:
if alien direction (in degrees) > direction of hero: turn -2 degrees
if alien direction (in degrees) < direction of hero: turn 2 degrees
那么如何确定'英雄的方向'?
答案 0 :(得分:6)
不幸的是,似乎没有内置的方法来实现这一点,因此需要一些三角函数。要计算从精灵1到精灵2的方向,您可以计算x和y中从1到2的位移,然后使用atan
函数找到所需的角度:
由于你实际上想要相对于外星船所面向方向的方向,所以使用矢量积(也就是交叉积)可能更好:
此处的屏幕截图取自this Scratch project。
答案 1 :(得分:4)
使用积分作为一种发现方式:
set temp to direction
point towards hero
if temp > direction
set direction to temp-2
else if temp < direction
set direction to temp-2
else
set direction to temp