【问题标题】:Limit the TouchDrag Object to X axis only将 TouchDrag 对象限制为仅 X 轴
【发布时间】:2013-06-06 06:35:35
【问题描述】:

我目前有这个代码,来自 Flash CS6 代码片段:

function fl_TouchBeginHandler(e:TouchEvent):void
{
    e.target.startTouchDrag(e.touchPointID);
}
function fl_TouchEndHandler(e:TouchEvent):void
{
    e.target.stopTouchDrag(e.touchPointID);
}

我想要做的是=限制可拖动的对象只能水平拖动。这样它就不能向上或向下拖动。

我在 Stack Overflow 中进行了搜索,但没有找到任何与此问题相关的问题/答案。谢谢。

【问题讨论】:

  • 您可以在 startTouchDrag() 中使用 bounds:Rectangle 参数并将其设置为 1px 高... Cherniv 的答案也是有效的。
  • @Chadyk 你能告诉我如何使用 bounds:Rectangle 参数吗?我已经搜索过了,但我仍然对参数感到困惑。有人说它的(x,y,宽度,高度),另一些人说它的(左,上,右,下)。还是摸不着头脑。 ://
  • 它是一个 Rectangle(x, y, width, height) 用于 800x400 文档的中间水平线,它将是:Rectangle(0, 200, 800, 1)。我认为(左、上、右、下)曾经用于 AS2。我还建议(根据自己的经验),除非您需要多点触控支持,否则选择 MouseEvent 而不是 TouchEvent - 性能方面。

标签: android actionscript-3 flash flash-cs6


【解决方案1】:

Adobe's officialTouch Point ID部分, 函数onTouchMove

function onTouchMove(event:TouchEvent) { 
  // ...
    mySprite.x = event.stageX; 
  // ...
} 

【讨论】:

  • 谢谢,我现在不在家,但我今晚晚些时候试试。似乎它会工作:-)。
  • 是的,你让我意识到有一个“TOUCH_MOVE”功能。通常我只使用“TOUCH_BEGIN/END”功能哈哈。再次感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-22
相关资源
最近更新 更多