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