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

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

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

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

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

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

for (int i = ; i < p_count; i++)
{
  int action_id = action%; //就是这一行   if (Debug.ENABLED && action != )
  {
    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 , 导致到 物体移动不规律。

scaleform mobile sdk for android 多点触摸 修正的更多相关文章

  1. Linux与Android 多点触摸协议【转】

    本文转载自:http://blog.csdn.net/xubin341719/article/details/7833277 一.Linux与Android 多点触摸协议 为了使用功能强大的多点触控设 ...

  2. Linux & Android 多点触摸协议

    Linux & Android 多点触摸协议 Android4.0多点触摸入门 1 KERNEL 对于触摸屏的驱动我们简单的划分为两个主要的部分,一个是注册,另一个是上报. 1.1 注册 单点 ...

  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. Android多点触摸放大缩小图片

    1.Activity package com.fit.touchimage; import android.app.Activity; import android.graphics.Bitmap; ...

  6. 搞定android多点触摸模拟

    原理在android 创建多点触摸虚拟设备,然后往设备写模拟数据可以

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

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

  8. Android多点触摸缩放图片-android学习之旅(四)

    获取多触摸点 核心代码: 获取触摸点的个数和位置 public boolean onTouch(View v, MotionEvent event) { switch (event.getAction ...

  9. Android多点触摸 与 手势识别

    1. 事件类型 MotionEvent.ACTION_DOWN MotionEvent.ACTION_MOVE MotionEvent.ACTION_UP 2. 事件传递 public boolean ...

随机推荐

  1. jfinal取消默认跳转到view.jsp页面的方法

    今天为了在一个列表中添加一个删除的方法,直接在方法里面谢了一个dao.del();方法,但是调用的时候却出现404错误. 然后就写了一句下面的代码 redirect("/api/listMe ...

  2. 12天学好C语言——记录我的C语言学习之路(Day 9)

    12天学好C语言--记录我的C语言学习之路 Day 9: 函数部分告一段落,但是我们并不是把函数完全放下,因为函数无处不在,我们今后的程序仍然会大量运用到函数 //转入指针部分的学习,了解指针是什么 ...

  3. 安装sinopia-ldap

    背景: 已经安装好sinopia,配置好本地npm源 安装sinopia-ldap: npm install -g sinopia-ldap 配置: 修改sinopia的配置文件config.yaml ...

  4. [leetcode]352. Data Stream as Disjoint Intervals

    数据流合并成区间,每次新来一个数,表示成一个区间,然后在已经保存的区间中进行二分查找,最后结果有3种,插入头部,尾部,中间,插入头部,不管插入哪里,都判断一下左边和右边是否能和当前的数字接起来,我这样 ...

  5. [Guava官方文档翻译] 4. 使用Guava Ordering排序 (Ordering Explained)

    本文地址:http://www.cnblogs.com/hamhog/p/3537233.html 示例 assertTrue(byLengthOrdering.reverse().isOrdered ...

  6. 第48条:如果需要精确的答案,请避免使用float和double

    float和double主要为了科学计算和工程计算而设计,执行二进制浮点运算,这是为了在广泛的数值范围上提供较为精确的快速近似计算而精心设计的.然而,它们没有提供完全精确的结果,所以不适合用于需要精确 ...

  7. msyql判断记录是否存在的三种方法

    1. select count(*) from .... 这种方法最常见但是效率比较低,因为它需要扫描所有满足条件的记录 2. select 1 from xxxtable where .... 这种 ...

  8. 改善EF代码的方法(下)

    本节,我们将介绍一些改善EF代码的方法,包括编译查询.存储模型视图以及冲突处理等内容. > CompiledQuery 提供对查询的编译和缓存以供重新使用.当相同的查询需要执行很多遍的时候,那么 ...

  9. iOS中的NSLog的输出格式

    •    %@        对象 •    %d, %i   整数 •    %u         无符整形 •    %f          浮点/双字 •    %x, %X  二进制整数 •  ...

  10. 细说 ASP.NET Cache 及其高级用法

    许多做过程序性能优化的人,或者关注过程程序性能的人,应该都使用过各类缓存技术. 而我今天所说的Cache是专指ASP.NET的Cache,我们可以使用HttpRuntime.Cache访问到的那个Ca ...