5

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

那么我如何确定“英雄的方向”呢?

4

2 回答 2

6

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

计算与另一个精灵的角度的脚本

由于您实际上想要相对于外星飞船所面对方向的方向,因此使用矢量积(也称为叉积)可能会更好:

在此处输入图像描述

这里的截图来自这个 Scratch 项目

于 2013-03-04T14:10:41.663 回答
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
于 2013-04-25T14:03:08.230 回答