[问题] win8.1 的行动程式鼠标无效 (已解决)

楼主: tainjoy (WRYYYYYY)   2014-03-06 10:10:52
从程式码本身已找到解决方式
简单来说
因为程式本身需要multitouch的功能,所以将
Starling.multitouchEnabled = true;
在windows 8上本机执行mobile程式需要先改为false
找到的原因在这里
在starling.core.Starling.as中,在初始化有一段程式是将Touch与Mouse的事件
都转换成Starling相对应的输入事件
所以他在注册Touch与Mouse事件时,把Mouse的部分挡了下来
可以参考同一只as的touchEventTypes部分
private function get touchEventTypes():Array
{
var types:Array = [];
if (multitouchEnabled)
types.push(TouchEvent.TOUCH_BEGIN, TouchEvent.TOUCH_MOVE,
TouchEvent.TOUCH_END);
if (!multitouchEnabled || Mouse.supportsCursor)
types.push(MouseEvent.MOUSE_DOWN, MouseEvent.MOUSE_MOVE,
MouseEvent.MOUSE_UP);
return types;
}
原本在windows7上,Mouse.supportsCursor这个变量是true自然没问题
但到了windows8上,这个值就变成false (我的萤幕也没触控功能)
所以在本机测试的时候,就必须要先把multitouchEnabled先改为false
在windows8上才会正常
另外在下述的问题有参考到一个网址,提到的问题其实也有一点相关
似乎在WIN8 & AIR3.8下,Mouse事件是没有办法正常回应
但这跟我的问题没太大关系,我本身也没测试过
但有类似情况的也可以试试
==========================================================
以下是原本问题的部分
==========================================================
这阵子我把开发的机器从windows7升级为windows 8.1
开发工具为flash builder 4.7 + AIR SDK 4.0 + starling framework + feather UI
专案为mobile actionscript project
原本win7在使用air emulator本机执行测试都可以用鼠标正常操作
自从升级到win8.1之后使用鼠标操作就没有任何反应
已测试的元件是starling button的trigger及feather的list都是这样
我想其它的也是一样的情况
另外,我有试着更换AIR SDK,我换过3.7、3.4都是一样的情况
但是使用触控萤幕的话是可以正常操作的
问题是我主要开发的电脑没有触控萤幕,无法单机测试非常不方便
难道是win8的adobe air把鼠标跟触控的反应分开了吗
以至于我在行动专案的程式无法使用鼠标只能用触控的方式操作
网络上有看到这篇air3.8的bug报告
https://bugbase.adobe.com/index.cfm?event=bug&id=3635216
但我已试着更换sdk也无效,或是跟touch app plugin有关系吗?
我本来有装后来移掉也都不行
请问有解决的方法吗?

Links booklink

Contact Us: admin [ a t ] ucptt.com