在as3中使用多点触控同时拖动两个对象

2023-12-27

我试图在 AS3 中使用多点触控同时拖动两个对象。我的目标是让用户将两个对象捏在一起。现在我无法让两者同时移动。有什么想法为什么这不起作用吗?

Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;

//

bullseye4a.addEventListener(TouchEvent.TOUCH_BEGIN, fl_ClickToDrag4a);

function fl_ClickToDrag4a(event: TouchEvent): void {
bullseye4a.startDrag();
}

bullseye4b.addEventListener(TouchEvent.TOUCH_BEGIN, fl_ClickToDrag4b);
function fl_ClickToDrag4b(event: TouchEvent): void {
bullseye4b.startDrag();
}

bullseye4a.addEventListener(TouchEvent.TOUCH_END, fl_ReleaseToDrop4a);
function fl_ReleaseToDrop4a(event: TouchEvent): void {
bullseye4a.stopDrag();

}
bullseye4b.addEventListener(TouchEvent.TOUCH_END, fl_ReleaseToDrop4b);
function fl_ReleaseToDrop4b(event: TouchEvent): void {
bullseye4b.stopDrag();
}
addChild(bullseye4a);
addChild(bullseye4b);

这是完成您所要求的最简单、最直接的方法:

    Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;

    var curTouchPoints:Dictionary = new Dictionary(); //a dictionary to store which objects are related to which touch points


    bullseye4a.addEventListener(TouchEvent.TOUCH_BEGIN, touchStart); //add both objects touch begin listener
    bullseye4b.addEventListener(TouchEvent.TOUCH_BEGIN, touchStart);

    //add a global touch move listener
    stage.addEventListener(TouchEvent.TOUCH_MOVE, touchMove);




    function touchStart(e:TouchEvent):void {
        //create an object that stores the offset and a the object touched, then add it to the dictionary
        curTouchPoints[e.touchPointID] = {obj: e.currentTarget, offsetX: e.localX, offsetY: e.localY}; //store the current object in the dictionary

        //listen for the touch end event 
        e.currentTarget.addEventListener(TouchEvent.TOUCH_END,touchEnd);
    }

    function touchMove(e:TouchEvent):void {
        //move this object to the current touch position
        //find the object by looking up the touchPointId in the dictionary (since e.currentTarget will be the stage, and e.target could be the child of what you really want OR the stage if touch 'leaves' the object)
        DisplayObject(curTouchPoints[e.touchPointID].obj).x = e.stageX - curTouchPoints[e.touchPointID].offsetX;  //subtract the offset so the object doesn't snap to the registration point on the first touch move
        DisplayObject(curTouchPoints[e.touchPointID].obj).y = e.stageY - curTouchPoints[e.touchPointID].offsetY;
    }

    function touchEnd(e:TouchEvent):void {
        //remove the dictionary item now that the touch has ended
        delete curTouchPoints[e.touchPointID];

        //remove the touch end listener
        e.currentTarget.removeEventListener(TouchEvent.TOUCH_END,touchEnd);
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在as3中使用多点触控同时拖动两个对象 的相关文章

  • AIR/Actionscript 中没有这样的表 SQLITE_SEQUENCE

    我正在尝试使用 AIR ActionScript Flex 4 5 重置 SQLITE 中自动增量字段的种子 我正在做通常应该有效的事情 DELETE FROM SQLITE SEQUENCE WHERE NAME myTable 我已经检
  • 在 Android Flash 10.1 上打开软件键盘

    我正在开发在浏览器中运行的移动 Flash 应用程序 不是 AIR 应用程序 根据 Adob e 的说法 Flash Player 10 1 提供支持 使用本机设备虚拟键盘 如果没有物理支持 则使用 TextField 支持 检测到键盘 一
  • AS3 瓦片地图渲染(具有 1000 个瓦片)

    首先我要说的是 这里的上下文是 Actionscript 3 0 IDE Flashbuilder 以及椋鸟框架 http gamua com starling 因此 我想创建一个可用于平台游戏或类似游戏的图块地图 我想在 800x600
  • Flash 点击时不打开链接

    我用 Flash 创建了这个横幅 我需要单击它来打开一个网页 我使用了这个 Actionscript 3 0 代码 link btn addEventListener MouseEvent CLICK openurl function op
  • 定义 fl.controls: 找不到标签

    我正在使用 ActionScript 3 在 FlashDevelop 中进行开发 当我尝试执行以下操作时出现以下错误import fl controls Label Definition fl controls Label could n
  • 需要澄清应用程序域

    我需要对这个主题进行一些澄清 因为我刚刚遇到将 swf 加载到重用加载器对象中的问题 假设我有 3 个 SWF 主文件 swfchildA swfchildB swf Main swf 中有一个可重用的加载程序对象 myloader loa
  • as3命名空间-获取一个带有减号的属性[重复]

    这个问题在这里已经有答案了 可能的重复 e4x as3 如何访问名称中带有破折号的节点 https stackoverflow com questions 5317404 e4x as3 how to access a node with
  • 将数据/变量从 Visual Basic 表单传递到 Flash 对象

    我很确定这个问题可以在 stackOverflow 上的某个地方得到解答 但我对此没有选择 我有一个 VisualBasic 窗体 上面有一个按钮对象 我希望该按钮有一个 onClick 过程 以便单击它可以将变量或其他命令传递到另一个正在
  • ActionScript 3 中的圆形滑块

    我希望在 ActionScript 中添加一个圆形滑块 非常类似于这一页 http interface eyecon ro demos drag vr html shows 它最终会改变对象的色调 返回 CMY 值 但如果它只是吐出程度 我
  • iPhone:跟踪/识别个人触摸

    我有一个关于 iPhone 上跟踪触摸的快速问题 我似乎无法对此得出结论 因此非常感谢任何建议 想法 我希望能够跟踪和识别 iPhone 上的触摸 即 基本上每次触摸都有一个起始位置和当前 移动位置 触摸存储在 std vector 中 一
  • as3 事件 - 类型强制失败?

    我正在将事件从孩子发送到父母 swf 它工作正常 直到我使用预加载器 swf 加载父级 然后父级停止从子级获取事件 我现在收到此错误 TypeError Error 1034 Type Coercion failed cannot conv
  • 从另一个域加载外部图像

    是否可以从另一个域加载图像 jpg png gif 并操作像素 我想当下载 复制图像时它就在我的域中 使用加载器并将内容添加到图像组件时 我在调试器中收到错误 我想这里有一些跨域策略在起作用 但在继续之前我需要更确定它是如何工作的 我想 如
  • 将应用程序状态保存在磁盘或其他位置,以便用户稍后访问它

    In 弹性构建器 4 5我正在做一个像这样的项目cacoo http www cacoo com 我想保存diagrams display object ui components text 在将应用程序关闭到应用程序之后我无法访问的某个地
  • 如何在as3中不询问的情况下写入外部文件

    我有这个代码 var fileRef FileReference new FileReference fileRef save ciao coso lingua txt 在现有的 lingua txt 文件上写入 该脚本有效 但每次他保存时
  • Flash 照片上传 - 从网络摄像头拍摄照片 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • RobotFramework:拖放 Selenium2 关键字似乎不起作用

    我正在测试 Web 应用程序 使用 RobotFramework 和 Selenium2Library 其中有几个点需要一些拖放操作 我尝试了拖放关键字 但它无法正常工作 由于我无法通过生产应用程序 因此我使用下面的页面重新创建了问题 ht
  • 如何从公共函数返回变量

    我试图摆脱在主时间线上使用代码 但我很难理解 as 文件和 fla 文件如何交互 例如 我试图弄清楚如何将变量从主时间线传递到公共函数 对该变量执行一些操作并将其传递回主时间线 我在框架上有一个输入文本框和一个带有侦听器的简单按钮 我希望能
  • 在没有流媒体服务器的情况下在 Flash 中录制 h.264 视频?

    是否可以在不需要流媒体服务器 如 fms wowza red5 的情况下从 Flash Actionscript 相机 即网络摄像头 保存 h 264 视频 我还想从麦克风获取样本数据 并在客户端对其进行转码 以便用户可以录制 h 264
  • (简单)Flex 3 应用程序需要什么版本的 Flash 播放器?

    Flex 3 应用程序需要什么版本的 Flash 播放器 要求似乎是FLEX开发环境中的HTML WRAPPER ACTIONSCRIPT编译器设置 我可以在那里选择什么来最大程度地兼容旧的 Flash 播放器 v8 播放器可以工作吗 Fl
  • Android 多点触控

    因此 我尝试使用 onTouchEvent 检查多个屏幕触摸 但它似乎仍然只读取第一次触摸 有人可以帮忙吗 这是我的代码 public boolean onTouchEvent MotionEvent e int num e getPoin

随机推荐