【问题标题】:How to modify motion tracking in AS3如何在 AS3 中修改运动跟踪
【发布时间】:2012-02-20 14:17:32
【问题描述】:

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

【问题讨论】:

  • 这是一个很棒的教程,感谢分享该网站:)
  • +1,很酷的教程,我会看到它并返回您的问题!
  • 谢谢 Eugeny89,mouseas 没问题

标签: flash actionscript-3 motion-detection


【解决方案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 以查看您所在的位置。

【讨论】:

    【解决方案2】:

    我在 AS3 中编写了一个类似的运动跟踪器。它在github上。你可以在这里查看:https://github.com/chinchang/AS3-Motion-Tracker

    如果您对此有任何疑问,请告诉我。

    还有一个用它制作的示例游戏here

    干杯!

    【讨论】:

      【解决方案3】:

      我不知道你在 AS3 中有多菜鸟,但这是一件复杂的事情。

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

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

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

      我希望这会有所帮助!

      【讨论】:

      • 非常感谢您的分享,我是 n00b,但我确实知道如何使用源代码。再次感谢您
      猜你喜欢
      • 1970-01-01
      • 2014-05-14
      • 2012-02-13
      • 2021-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-18
      相关资源
      最近更新 更多