我在http://www.computerarts.co.uk/tutorials/build-your-own-motion-tracking-system有这个很棒的教程 在 开发者版本中,跟踪器沿 X 轴移动。我希望它保持静止而不是移动,并且当来自网络摄像头的物体出现在它前面时。当有人在它前面时,静止的十字标记应该能够触发一个事件,最好是声音。将不胜感激我得到的帮助。我是一个完整的 AS 菜鸟。如果您有任何其他教程并将我链接到它,我将不胜感激。
3 回答
我在 AS3 中编写了一个类似的运动跟踪器。它在github上。你可以在这里查看:https ://github.com/chinchang/AS3-Motion-Tracker
如果您对此有任何疑问,请告诉我。
这里也是一个用它制作的示例游戏。
干杯!
最简单的方法可能是创建第二个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
以查看您所在的位置。
我不知道你在 AS3 中有多少菜鸟,但这是一件复杂的事情。
我碰巧在学校上过几节 AS3 的运动跟踪课程,它使用了你的网络摄像头。我不知道如何使用它,但我仍然有我们使用的 AS3 代码的源代码包。在这里你可以找到两个包:
它们是由一个名叫 Grant Skinner 的人编写的,我不知道它们的版权和限制是什么,所以请注意 :)
在这里你可以找到更多,也许还有更新的版本: http: //www.insurgent.com.ar/en/tag/grant-skinner-en/
我希望这个能帮上忙!