これはここへの私の最初の投稿ですが、私はかなり必死です。私はググって、ググって、またググってみましたが、成功しませんでした。助けやヒントをいただければ幸いです。
私はAdobe Airアプリ(Windows用の2Dパズル/アクションHTML4 + CSS + Javascriptゲーム、埋め込みレベルエディター付き)を開発しています。実際、私のゲームはほぼ完成しており、IE9 と Chrome の両方で非常にうまく動作します。ただし、(多くの理由で) Air に移植したいので、Dreamweaver 用の Adobe Air Extension v.3.3 をインストールし、HTML プロジェクトから Air アプリを作成するための開始に関する Adobe チュートリアルに従いました。
問題なく .air ファイルを生成できますが、ゲームが最初からフリーズしているようです。私は多くのことを確認しました(すべてとは言いません)。いろいろと alert("works-check_1"); も入れています。私のコードのすべてのビットを通して、Dreamweaver ではうまく動作します (しかし遅い)...しかし、.air ファイルはフッターまですべてをロードし、2 番目のフレームを描画できるようになる前にフリーズします。この問題は、.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 で、X と Y のマウス座標を document.mousemove で取得できる他の簡単な方法はありますか?