我正在尝试用HTML5开发游戏。现在代码应该在网页上显示一个画布,它只是没有这样做。 (我正在关注教程视频)。
以下是HTML的代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<script src="jquery-1.11.1.min.js" type="text/javascript"></script>
<canvas id="GameCanvas"></canvas>
<script src="game.js" type="text/javascript"></script>
</body>
</html>
以下是game.js的代码:
// JavaScript Document
var canvasWidth = 800;
var canvasHeight = 600;
$('#gameCanvas').attr('width', canvasWidth);
$('#gameCanvas').attr('width', canvasHeight);
var canvas = $('#gameCanvas')[0].getContext('2d');
canvas.strokeRect(0, 0, canvasWidth, canvasHeight);
var image = new Image();
image.src = "ship.png";
canvas.drawImage(image, canvasWidth / 2, canvasHeight / 2);
以下是我正在使用的目录的屏幕截图:
答案 0 :(得分:0)
<canvas id="GameCanvas"></canvas>
VS
$('#gameCanvas')
您的ID不匹配。
答案 1 :(得分:0)
除了Mikes,还有另外两个问题:
首先:您的HTML文档不是HTML5,请查看您的Doctype
第二:除非您可以在画布上绘制图像,否则图像必须完全加载。只需使用onload回调:
var image = new Image();
image.onload = function(){
canvas.drawImage(image, canvasWidth / 2, canvasHeight / 2);
}
image.src = "ship.png";