JavaScriptを使用してキャンバスに画像をアニメーション化しようとしています。コンソールではすべてが予想どおりに進んでいるように見えますが、画像はキャンバスに読み込まれません。ここに私のコードですJavaScriptを使用してキャンバスに画像を読み込む
<body>
<canvas id="gameDisplay">
</canvas>
</body>
<script>
var canvas = null;
var context = null;
var frameRate = 1000/30;
var frame = 0;
var assets = [
'images/char.png',
'images/char1.png'
];
var frames = [];
var onImageLoad = function() {
console.log('IMAGE!!');
};
var setup = function() {
canvas = document.getElementById('gameDisplay');
context = canvas.getContext('2d');
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
for (var i = 0; i < assets.length; i++) {
frames.push(new Image());
frames[i].src = assets[i];
frames[i].onload = onImageLoad;
}
};
var animate = function() {
context.clearRect(0, 0, canvas.width, canvas.height);
context.drawImage(frames[frame], 192, 192);
frame = (frame + 1) % frames.length;
}
setup();
</script>
プロジェクトはhereです。
'window.requestAnimationFrame(animate)'コールがありません。 –
私はちょっとわかりません。 –
あなたの 'animate'メソッドは決して呼び出されないので、イメージはロードされますが描画されることはありません。 'animate'メソッドをスケジュールする必要があります。一つの方法は、 'setup'と' animate'の両方の終わりに 'window.requestAnimationFrame(animate)'を置くことです。例えば、 https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Basic_animationsを参照してください。 –