如何在AdobeAIR Extension for Dreamweaver 3.3下获得Javascript中的鼠标坐标?

如何在AdobeAIR Extension for Dreamweaver 3.3下获得Javascript中的鼠标坐标?,javascript,css,html,air,Javascript,Css,Html,Air,这是我在这里的第一篇文章,但我非常绝望。我搜索了,搜索了,再搜索,但没有成功。我将非常感谢任何帮助或暗示 我正在开发一个AdobeAIR应用程序(一个2D益智/动作HTML4+CSS+Javascript游戏,带有嵌入式编辑器,适用于Windows)。事实上,我的游戏快结束了,它在IE9和Chrome上都运行得很好;但是,我想将其移植到Air(出于许多原因),因此我为Dreamweaver安装了AdobeAIR扩展v.3.3,并遵循Adobe教程中关于从HTML项目创建Air应用程序的入门指南

这是我在这里的第一篇文章,但我非常绝望。我搜索了,搜索了,再搜索,但没有成功。我将非常感谢任何帮助或暗示

我正在开发一个AdobeAIR应用程序(一个2D益智/动作HTML4+CSS+Javascript游戏,带有嵌入式编辑器,适用于Windows)。事实上,我的游戏快结束了,它在IE9和Chrome上都运行得很好;但是,我想将其移植到Air(出于许多原因),因此我为Dreamweaver安装了AdobeAIR扩展v.3.3,并遵循Adobe教程中关于从HTML项目创建Air应用程序的入门指南

我可以毫无问题地生成.air文件,但是我的游戏一开始就被冻结了。我核实了很多很多事情(不是说全部);我还发布了各种警报(“works-check_1”);通过我所有的代码,它在Dreamweaver中运行良好(但速度较慢)。。。但是.air文件将所有内容加载到页脚,然后冻结,然后才能绘制第二帧。我得出的结论是,这个问题很可能源于我在.html文件中用于获取鼠标坐标的当前脚本(允许在level editor中进行拖放)

以下是我当前在.html文件部分中的脚本:

<script language="JavaScript1.2">
var IE = document.all?true:false;
if (!IE) document.captureEvents(Event.MOUSEMOVE)
document.onmousemove = getMouseXY;
var tempX = 0;
var tempY = 0;
function getMouseXY(e) {
if (IE) { // grab the x-y pos.s if browser is IE
tempX = event.clientX;
tempXb = event.clientX + document.body.scrollLeft;
tempY = event.clientY + document.body.scrollTop;
}
else {  // grab the x-y pos.s if browser is NS
tempX = e.pageX;
tempY = e.pageY;
}
document.getElementById("xcoord").value = tempX;
document.getElementById("ycoord").value = tempY;
return true;
}
</script>

var IE=文件。全部?真:假;
if(!IE)document.captureEvents(Event.MOUSEMOVE)
document.onmousemove=getMouseXY;
var-tempX=0;
var-tempY=0;
函数getMouseXY(e){
如果(IE){//如果浏览器是IE,则抓取x-y位置
tempX=event.clientX;
tempXb=event.clientX+document.body.scrollLeft;
tempY=event.clientY+document.body.scrollTop;
}
否则{//如果浏览器为NS,则抓取x-y位置
tempX=e.pageX;
tempY=e.pageY;
}
document.getElementById(“xcoord”).value=tempX;
document.getElementById(“ycoord”).value=tempY;
返回true;
}

AdobeAIR似乎无法使用该功能,并且出现了故障在HTML/Javascript中有没有其他简单的方法可以在document.mousemove上获取X和Y鼠标坐标,这是Air允许的?好的,不管怎样,这段代码就像是在Air中的魅力一样。我的游戏冻结了,因为我必须使用以下语法:

setTimeout(alert('Timeout'), 10);
而不是这个:

setTimeout("alert('Timeout')", 10);
(“”)不受空中安全措施的支持;它更喜欢传递函数,而不是字符串。

法文参考:

嗯!!然而,即使我的游戏现在在.air中编译并运行良好,它的运行速度也比直接在IE9、Chrome或Safari中慢得多。不过在Safari上,为了获得快速的Javascript性能,我必须禁用Preferences>Security中的所有内容,除了“Allow Javascript”。空中性能与禁用这些安全选项之前我在Safari上的性能非常非常相似。顺便说一句,Tianium Appcelerator为我的游戏提供了与AdobeAIR相同的Javascript性能(帧速率)。我更喜欢Air而不是Tianium,但我必须找到另一个IDE解决方案,以便使用快速嵌入式Javascript引擎编译我的游戏,并且能够移植到其他平台。。。。我绝望了!我想在其他平台上进行移植,其速度至少与IE9、Chrome或tuned Safari中的速度相同。。。没有什么能达到我的期望,所有IDE当前都比我直接在浏览器中得到的结果慢,这应该是等效的:(