【发布时间】:2013-01-29 21:00:43
【问题描述】:
我想用画布绘制图像精灵。
代码不工作。如何改进我的代码。
我有一些错误。
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
var Game = {
draw_image: function(img, sourceX, sourceY, sourceW, sourceH, destX, destY, destW, destH){
var img = new Image(); // Create new img element
img.src = 'images/background.png'; // Set source path
img.onload = function(){
canvas.width = 1000;
canvas.height = 500;
ctx.drawImage(img, sourceX, sourceY, sourceW, sourceH, destX, destY, destW, destH);
};
}
var BACKGROUND = {
image_top: { x: 5, y: 5, w: 1280, h: 480 , dx:0 ,dy:0 ,dw:500 ,dh:500 },
image_body: { x: 5, y: 495, w: 1280, h: 480 , dx:0 ,dy:150 ,dw:500 ,dh:350},
image_bottom: { x: 5, y: 985, w: 1280, h: 480 , dx:0 ,dy:300 ,dw:500 ,dh:200 }
};
for(var n = 0 ; n < BACKGROUND.length ; n++) {
draw_image(nameImage, BACKGROUND[n].x,BACKGROUND[n].y, BACKGROUND[n].w, BACKGROUND[n].h, BACKGROUND[n].dx, BACKGROUND[n].dy, BACKGROUND[n].dw, BACKGROUND[n].dh );
}
};
【问题讨论】:
-
哪些错误,哪些行?
nameImage是什么? -
Uncaught SyntaxError: Unexpected token varin linevar BACKGROUND = { -
我希望精灵 image_top,image_body,image-bottom 的名称为
nameImage -
伙计,你有标点符号问题,而且我认为你不知道
var x = function()和function x()之间的区别,如果你是 Javascript 新手,有更好的方法来实现这一点。你知道任何画布动画框架吗?
标签: javascript image html canvas