如何在AS3中修改运动跟踪

时间:2012-01-27 15:39:00

标签: flash actionscript-3 motion-detection

我在http://www.computerarts.co.uk/tutorials/build-your-own-motion-tracking-system有这个惊人的教程 在开发人员版本中,跟踪器沿X轴移动。我希望它保持静止而不是移动,当网络摄像头的物体出现在它前面时。固定的十字标记应该能够在任何人在其前面时触发事件,最好是声音。 非常感谢我得到的帮助。我是AS的一个完整的菜鸟。如果您有任何其他教程并将我链接到它,我将不胜感激。

3 个答案:

答案 0 :(得分:1)

最简单的方法可能是创建第二个Point来跟踪位置。然后,您可以测试与不移动的TrackerMC的碰撞。去做这个: 在顶部,添加

private var _movingPos:Point = new Point();

然后,在resize()函数中,添加:

_tracker.x = sW * 0.5;
_movingPos.y = sH * 0.5;

然后,在loop()_tracker.x += (_pos.x - _tracker.x) * .1;更改为:

_movingPos.x += (_pos.x - _movingPos.x) * 0.1;

并且,为了测试该点是否在十字准线的前面,在loop()函数的末尾添加:

if (_tracker.hitTestPoint(_movingPos.x, _movingPos.y, true))
    doSomething(); // Add whatever custom function here.

doSomething();功能中,您可以播放声音或其他任何内容。 要进行调试,您可以添加第二个TrackerMC并将其位置更新为等于_movingPos以查看您的位置。

答案 1 :(得分:1)

我在AS3中写了一个类似的运动追踪器。它在github上。您可以在此处查看:https://github.com/chinchang/AS3-Motion-Tracker

如果您对此有任何疑问,请与我联系。

也是用它制作的示例游戏here

干杯!

答案 2 :(得分:0)

我不知道你在AS3中有多少菜鸟,但这有点复杂。

我碰巧在学校里有一些运动跟踪的AS3课程,它们使用了你的网络摄像头。我不知道如何使用它,但我仍然有我们使用的AS3代码的源代码包。 在这里你可以找到两个包:

他们是由一个名叫Grant Skinner的人编写的,我不知道他们的版权和限制是什么,所以请注意:)

在这里您可以找到更多,也许更新的版本:   http://www.insurgent.com.ar/en/tag/grant-skinner-en/

我希望这会有所帮助!