修正 scaleform 的多点触控 (随手一记 给后来的人做个参考)

scaleform 版本号 4.2.24 (估计这就是最后一个 移动版的版本了,万年没有更新了)

开始 一直以为 scaleform 没有做  多点触控 和 手势 。其实 都已经封装好了。只是PC端的模拟器不支持。(调试 比较蛋疼只能 用真机了)

但是在用的时候发现 TouchEvent.Begin  有问题 只能获取第一个点击点,和第一个抬起点,move 操作可以正常获取。

如果不修改 代码的话  完全可以用 通过监听 move 来做操作的 但是 总是感觉 不爽。(这个 每次 点击 都会紧跟一个 move 操作,不知道是 bug , 还是因为屏幕ppi 太高的原因)

问题很好解决 找到 MainActivity.java 文件的最后 几行

for (int i = 0; i < p_count; i++)
{  int action_id = action%256;  //就是这一行  if (Debug.ENABLED && action != 2) { Log.d("GFxPlayer", " PointerIds: " + " " + event.getPointerId(i) + "Action: "+Integer.toString(action)       + " ID: "+Integer.toString(action_id) ); }NativeOnTouch(event.getPointerId(i), action_id, event.getX(i), event.getY(i));
}

android 在 多点触控的时候 这个 action 值 是不定的。但是很有规律,(我android一窍不通,不清楚为何这个样子),在只有一个点击点是  action = 0;

当有两个点击点是 会变成 261(256 + 5 + 0 )  , 当有3 个点击点时 会变成517 (512 + 5 + 0) 依次类推 。 具体的其他规律 想摸索可以自己 打印出来看看。

知道啥意思的 也请多多指教。其实本应该将 261 转成 0 , 517 转成 0 的 , 但是 我发现他在  Platform_Android_GL.cpp 文件中对 TouchEvents[] 的 5,6,7 同样设置了 GFx::Event::TouchBegin, GFx::Event::TouchEnd, GFx::Event::TouchMove}; 这样就不用必须 转成 0 1 2,转成 5,6,7 也是可以的。

之后就可以在 AS3 中 通过 如下代码来进行 操作了。

Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;

stage.addEventListener(TouchEvent.TOUCH_BEGIN,onTouchBegin);

尾巴:

最近在搞 scaleform 的 平滑移动 , 毫无头绪中 , 几个线程完全看晕。有知道怎么解决求指教啊。

我自己认为 scaleform 出现 移动不平滑的原因是:

1.每次  drawFrame 的时间 不等长 , 导致 指教用 ENTER_FRAME 进行刷帧 ( x + speed ) 不平稳。

delta 这个时间差 无法 在程序中 直接获取。

2.由于线程 间 相互注入 导致 在执行完 Advance 方法后 未必 一定会进行 draw , 导致到 物体移动不规律。

转载于:https://www.cnblogs.com/jaoye/p/4132393.html

scaleform mobile sdk for android 多点触摸 修正相关推荐

  1. MTK 驱动(65)---Android 多点触摸协议(Multi-touch Protocol)

    Android 多点触摸协议(Multi-touch Protocol) Android 多点触摸协议Multi-touch Protocol A协议 B协议 代码编写 Protocol A Prot ...

  2. Android多点触摸交互处理,放大缩小图片

    多点触摸(MultiTouch),指的是允许计算机用户同时通过多个手指来控制图形界面的一种技术.与多点触摸技术相对应的就是单点触摸,单点触摸的设备已经有很多年了,小尺寸的有触摸式的手机,大尺寸的最常见 ...

  3. Linux/Android多点触摸协议

    链接点击打开链接 关于Linux多点触摸协议大家可以参考kernel中的文档:https://www.kernel.org/doc/Documentation/input/multi-touch-pr ...

  4. Linux Android 多点触摸协议 原文出自【比特网】,转载请保留原文链接:http://soft.chinabyte.com/os/71/12306571.shtml

    为了使用功能强大的多点触控设备,就需要一种方案去上报用户层所需的详细的手指触摸数据.这个文档所描述的多点触控协议可以让内核驱动程序向用户层上报任意多指的数据信息. 使用说明 单点触摸信息是以ABS承载 ...

  5. Linux/Android多点触摸协议【转】

    本文转载自: 链接点击打开链接 关于Linux多点触摸协议大家可以参考kernel中的文档:https://www.kernel.org/doc/Documentation/input/multi-t ...

  6. android 图片放大缩小 多点触摸,Android 多点触摸(图片放大缩小)

    就不说什么了,有注释 基本有基础的都看得懂 欢迎加入我的交流群: 386451316 main.xml文件 xmlns:tools="http://schemas.android.com/t ...

  7. android多点触摸手势,安卓手势学习笔记(三) 多点触控

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 跟踪多个触点 当多个手指同时触碰屏幕时,系统产生如下的事件:ACTION_DOWN –第一个触点.它启动了手势,在Mot ...

  8. 大疆无人机DJI Mobile SDK入门(一)

    目录: 大疆无人机DJI Mobile SDK(Android)入门(一) 大道无疆,创新无限! 将您的想法变为现实! 未来,无所不能! 小Z码农有幸能接触到这么高逼格的玩具.就将这段爱恨往事作为笔记 ...

  9. android怎么监听多点触摸_Android开发中多点触摸的实现方法

    Android多点触控需要LCD驱动和程序设计支持,其实我们只要采用电容屏触摸手机的技术即可,接下来,就让爱站技术频道小编来讲解Android开发中多点触摸的实现方法吧! 多点触摸技术在实际开发过程中 ...

最新文章

  1. 3名女研究生,状告哈佛!
  2. iOS-实际项目中用到的第三方库
  3. 设计模式之美:Facade(外观)
  4. entity、model和domain三者区别
  5. 某大厂JVM常见面试题(二)吐血整理
  6. JavaScript(DOM编程一)
  7. java 调用 perl_perl - Java调用perl
  8. Android中自定义水球
  9. WebLogic UniversalExtractor反序列化漏洞(CVE-2020-14645)的复现和分析
  10. 获取Android APP的包名
  11. Mirth Connect 源码用eclipse启动
  12. ubuntu下载android11源码
  13. GPRS PDP APN
  14. Cesium 影像卷帘对比
  15. “水氢车”真跑起来了!但现场出现尴尬一幕……又一个“水变油”骗局?
  16. 分布式定时任务(XXL_JOB)
  17. KBP410-ASEMI开关电源整流器件KBP410
  18. 低保真原型vs高保真原型,哪一种更适合你的设计?
  19. 电视盒子 android tv6,电视盒子到底应该怎么选?掌握这5点就行了
  20. 97-ICMP 协议(端口不可达)

热门文章

  1. wireshark:什么是wireshark
  2. 被MIDI改变的游戏音乐
  3. python基本操作知识_python 入门基本知识
  4. 李宏毅机器学习第一周
  5. 模板注入总结(SSTI)
  6. python方括号里面单引号_Python中单引号,双引号,三个单引号,外双单引号内双引号,外双引号内单引号的区别...
  7. WIFI智能电子标牌的优势
  8. z3学习笔记(python 3)
  9. H5之input属性
  10. Android聊天界面中图片大小的合理缩小算法