私はフラッシュcs6とcreatejsでゲームを作ろうとしています。私はそれを局所的にテストすると(出力で.htmlファイルをクリックするという意味)、うまく動作し、意図どおりに動作します。HTML5キャンバスゲームはPC上のNewgroundsにもプリロードされませんが、iPad上で動作します。
私はそれをNewgroundsにアップロードし、自分のPC(Windows 8.1、google chrome)でプレビューして、ゲームが白い画面にぶつかりました。つまり、プリロード機能が正しく動作していません。
次に、私は自分のiPadでプレビューしました(常にNewgroundsから)、それはSafariで動作しました - オーディオはありませんでしたが。
は、その後、私はニューグラウンズでそれを再アップロードしようとした - が、今回は私がゲームからすべての音を削除 - と私のコンピュータ上でプレビューするとき、それも動作します。
これからは、ニューグラウンズで自分のPCでゲームを開始しようとすると、オーディオのプリロードが必要な競合するコードがあるはずだと推測しました。私の質問は次のとおりです:
1)私はNewgroundsで試合をプレビューすると、なぜオーディオが入っていて、私のPCを使用しているのですか? (私がiPadで新曲でプレビューすると動作することを覚えておいてください。サウンドファイルを完全に削除しても私のPC上でも動作します)
2)Ipadでオーディオが機能しないのはなぜですか?他の場所で提案されているように、サウンドを開始するためにゲームの最初のフレームにonclick関数を追加しました。機能は動作しますが、サウンドは開始しません。あなたの助けを事前に
おかげで、私はJavaScriptでの経験がないことに注意してください(私が今までにコード化されたすべてのは、ActionScriptである)が、私は学び、自分のベストをしようとして喜びました。解決
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>CreateJS export from testgame</title>
<script src="http://code.createjs.com/easeljs-0.6.0.min.js"></script>
<script src="http://code.createjs.com/tweenjs-0.4.0.min.js"></script>
<script src="http://code.createjs.com/movieclip-0.6.0.min.js"></script>
<script src="http://code.createjs.com/preloadjs-0.3.0.min.js"></script>
<script src="http://code.createjs.com/soundjs-0.4.0.min.js"></script>
<script src="testgame.js"></script>
<script>
var canvas, stage, exportRoot;
function init() {
canvas = document.getElementById("canvas");
images = images||{};
var manifest = [
{src:"images/Bitmap10.png", id:"Bitmap10"},
{src:"images/Bitmap12.png", id:"Bitmap12"},
{src:"images/Bitmap13.png", id:"Bitmap13"},
{src:"images/Bitmap14.png", id:"Bitmap14"},
{src:"images/Bitmap15.png", id:"Bitmap15"},
{src:"images/Bitmap16.png", id:"Bitmap16"},
{src:"images/Bitmap17.png", id:"Bitmap17"},
{src:"images/Bitmap18.png", id:"Bitmap18"},
{src:"images/Bitmap19.png", id:"Bitmap19"},
{src:"images/Bitmap20.png", id:"Bitmap20"},
{src:"images/Bitmap21.png", id:"Bitmap21"},
{src:"images/Bitmap22.png", id:"Bitmap22"},
{src:"images/Bitmap23.png", id:"Bitmap23"},
{src:"images/Bitmap24.png", id:"Bitmap24"},
{src:"images/Bitmap30.png", id:"Bitmap30"},
{src:"images/Bitmap31.png", id:"Bitmap31"},
{src:"images/Bitmap32.png", id:"Bitmap32"},
{src:"images/Bitmap33.png", id:"Bitmap33"},
{src:"images/Bitmap34.png", id:"Bitmap34"},
{src:"images/Bitmap35.png", id:"Bitmap35"},
{src:"images/Bitmap36.png", id:"Bitmap36"},
{src:"images/Bitmap37.png", id:"Bitmap37"},
{src:"images/Bitmap38.png", id:"Bitmap38"},
{src:"images/Bitmap39.png", id:"Bitmap39"},
{src:"images/Bitmap4.png", id:"Bitmap4"},
{src:"images/Bitmap5.png", id:"Bitmap5"},
{src:"images/Bitmap6.png", id:"Bitmap6"},
{src:"images/Bitmap7.png", id:"Bitmap7"},
{src:"images/Bitmap8.png", id:"Bitmap8"},
{src:"images/Bitmap9.png", id:"Bitmap9"},
{src:"sounds/siglaintro.mp3", id:"siglaintro"},
{src:"sounds/siglaloop.mp3", id:"siglaloop"}
];
var loader = new createjs.LoadQueue(false);
loader.installPlugin(createjs.Sound);
loader.addEventListener("fileload", handleFileLoad);
loader.addEventListener("complete", handleComplete);
loader.loadManifest(manifest);
}
function handleFileLoad(evt) {
if (evt.item.type == "image") { images[evt.item.id] = evt.result; }
}
function handleComplete() {
exportRoot = new lib.testgame();
stage = new createjs.Stage(canvas);
stage.addChild(exportRoot);
stage.update();
createjs.Ticker.setFPS(24);
createjs.Ticker.addEventListener("tick", stage);
}
function playSound(id, loop) {
createjs.Sound.play(id, createjs.Sound.INTERRUPT_EARLY, 0, 0, loop);
}
</script>
</head>
<body onload="init();" style="background-color:#D4D4D4">
<canvas id="canvas" width="820" height="480" style="background-color:#ffff66"></canvas>
</body>
</html>