Javascript 图形不显示在屏幕上
我正在尝试用HTML5开发一款游戏。现在,代码应该在网页上显示画布,但它没有这样做。(我正在看一段教程视频) 以下是HTML的代码:Javascript 图形不显示在屏幕上,javascript,html,canvas,Javascript,Html,Canvas,我正在尝试用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">
<!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>
// 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);
以下是我正在使用的目录的屏幕截图:
vs
$('gameCanvas')
您的ID不匹配。除了麦克风回答之外,还有两个问题: 首先:您的HTML文档不是HTML5,请查看您的Doctype 第二:图像必须完全加载,除非您可以在画布上绘制。只需使用onload回调:
var image = new Image();
image.onload = function(){
canvas.drawImage(image, canvasWidth / 2, canvasHeight / 2);
}
image.src = "ship.png";