javascript - 如何在 Adob​​e Air Extension for Dreamweaver 3.3 下的 Javascript 中获取鼠标坐标?

标签 javascript css html air

这是我在这里的第一篇文章,但我很绝望。我用谷歌搜索,谷歌搜索,再谷歌搜索,但没有成功。如果有任何帮助或提示,我将不胜感激。

我正在开发一个 Adob​​e Air 应用程序(一个带有嵌入式关卡编辑器的 2D 拼图/ Action HTML4 + CSS + Javascript 游戏,适用于 Windows)。事实上,我的游戏快完成了,它在 IE9 和 Chrome 中都运行良好;但是,我想将它移植到 Air(出于多种原因),所以我安装了适用于 Dreamweaver 的 Adob​​e Air Extension v.3.3,并按照 Adob​​e 教程开始从 HTML 元素创建 Air 应用程序。

我可以毫无问题地生成 .air 文件,但似乎我的游戏一开始就卡住了。我验证了很多很多事情(不是说全部);我还放了各种 alert("works-check_1");通过我的所有代码,它在 Dreamweaver 中运行良好(但速度很慢)...但是 .air 文件将所有内容加载到页脚,然后在能够绘制第二帧之前卡住。 我得出的结论是,问题很可能源 self 在 .html 文件中使用的当前脚本来获取鼠标坐标(允许在关卡编辑器中进行拖放)。

这是我当前在 .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>

Adobe Air 似乎无法使用它,并且出现故障。 在 HTML/Javascript 中是否有任何其他简单的方法可以让我在 document.mousemove 上获取 X 和 Y 鼠标坐标,Air 允许吗?

最佳答案

没关系,这段代码在 Air 中就像一个魅力。我的游戏卡住了,因为我不得不使用这种语法:

setTimeout(alert('Timeout'), 10);

而不是这个:

setTimeout("alert('Timeout')", 10);

("") 不受航空安全措施的支持;它更喜欢传递一个函数,而不是一个字符串。

法语引用:http://help.adobe.com/fr_FR/AIR/1.5/devappsflash/WS5b3ccc516d4fbf351e63e3d118666ade46-7f0e.html

嗯!然而,即使我的游戏现在可以在 .air 中编译并且运行良好,它的运行速度也比直接在 IE9、Chrome 或 Safari 中慢得多。但是在 Safari 上,为了获得闪电般的 Javascript 性能,我不得不禁用首选项 > 安全中的所有内容,除了“允许 Javascript”。空气性能非常非常类似于我在禁用这些安全选项之前在 Safari 上的性能。顺便说一句,Titanium Appcelerator 为我的游戏提供了与 Adob​​e Air 完全相同的 Javascript 性能(帧率)。比起 Titanium,我更喜欢 Air,但我必须找到另一个 IDE 解决方案才能使用快速嵌入式 Javascript 引擎编译我的游戏,并且能够移植到其他平台……我很绝望!我想以与 IE9、Chrome 或经过调整的 Safari 相同的速度至少移植到其他平台上...没有达到我的预期,目前所有 IDE 都比我直接在其中获得的结果慢浏览器,这应该是等价的:(

关于javascript - 如何在 Adob​​e Air Extension for Dreamweaver 3.3 下的 Javascript 中获取鼠标坐标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10393460/

相关文章:

javascript - 在 React 中从查看模拟时钟更改为数字时钟

javascript - 从 Handlebars 助手中的模板获取值

css - Twitter 小部件在移动设备上显示得太宽

CSS - 自定义字体?

javascript - Internet Explorer 8 错误 - 预期标识符、字符串或数字 - JQuery

javascript - 超链接作为表单提交的替代方案

javascript - .replaceWith() 为不同的链接元素替换 div 中的内容

javascript - 将 Google Re-CAPTCHA 表单添加到 PHP "Contact us form"

javascript - 将多个 colorAxis 对象应用于 dimple.js 中的线图与气泡图时,行为不一致

javascript - 如何根据某些特定条件在 div 中动态调整元素大小