一般来说,我对使用动作脚本真的很陌生,可以很好地解释如何做到这一点以及它是如何工作的。
我正在尝试在 AS3 for Android 中创建舞台活动。
当用户触摸舞台而不是特别是对象时,我需要检测他们是否正在拖动以及手指拖动到的位置。
我已经开始这样检测他们是否触及了舞台:
stage.addEventListener(TouchEvent.TOUCH_BEGIN, stageTouchBegin);
var stageTouchDragBounds:Rectangle = new Rectangle(0, 0, stage.stageWidth, stage.stageHeight);
function stageTouchBegin(event:TouchEvent):void
{
event.target.startTouchDrag(event.touchPointID, false, stageTouchDragBounds:Rectangle);
trace(event.stageX);
trace(event.stageY);
}
这条线是我得到错误的地方,我假设这是因为目标通常会引用电影符号或其他东西,但在这种情况下,这不是因为它是舞台。我尝试用舞台替换目标,但没有奏效:
event.target.startTouchDrag(event.touchPointID, false, stageTouchDragBounds:Rectangle);
这是错误:1061:通过静态类型 flash.events:TouchEvent 的引用调用可能未定义的方法 startTouchDrag。
从那里我的计划是继续使用这样的东西来开始记录他们所在的位置:
var curPosX;
var curPosY;
function stageTouchMoveHandler(event:TouchEvent):void
{
trace(event.stageX);
this.curPosX = event.stageX;
trace(event.stageY);
this.curPosY = event.stageY;
}
然后像这样处理结尾:
function stageTouchEndHandler(event:TouchEvent):void
{
event.target.stopTouchDrag(event.touchPointID);
}
任何有关如何执行此操作的见解/建议或对目标的解释,尤其是示例代码,将不胜感激。感谢您的时间!