如何在Scratch中确定另一个精灵的方向

时间:2013-03-03 11:12:12

标签: mit-scratch

我正在为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

那么如何确定'英雄的方向'?

2 个答案:

答案 0 :(得分:6)

不幸的是,似乎没有内置的方法来实现这一点,因此需要一些三角函数。要计算从精灵1到精灵2的方向,您可以计算x和y中从1到2的位移,然后使用atan函数找到所需的角度:

Script to calculate angle to another sprite

由于你实际上想要相对于外星船所面向方向的方向,所以使用矢量积(也就是交叉积)可能更好:

enter image description here

此处的屏幕截图取自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