好的,我有两个版本的代码。第一个似乎工作(主要),第二个给我的主题名称未捕获的错误。javascript-canvas未捕获错误:INDEX_SIZE_ERR:DOM异常1
defs:
var VID_WID = 640;
var VID_HIGH = 360;
var OUT_WID = 480;
var OUT_HIGH = 320;
var NUM_WID = 3;
var NUM_HIGH = 3;
var TILE_WIDTH = VID_WID/NUM_WID;
var TILE_HEIGHT = VID_HIGH/NUM_HIGH;
var OUT_WIDTH = OUT_WID/NUM_WID;
var OUT_HEIGHT = OUT_HIGH/NUM_HIGH;
Working:
tile.sx = x*TILE_WIDTH;
tile.sy = y*TILE_HEIGHT;
tile.dx = x*OUT_WIDTH;
tile.dy = y*OUT_HEIGHT;
...
draw.drawImage(copycanvas, tile.sx, tile.sy,
TILE_WIDTH, TILE_HEIGHT,
tile.dx, tile.dy,
OUT_WIDTH, OUT_HEIGHT);
Gets Exception:
tile.sx = x;
tile.sy = y;
tile.dx = x;
tile.dy = y;
...
draw.drawImage(copycanvas, tile.sx*TILE_WIDTH, tile.sy*TILE_HEIGHT,
TILE_WIDTH, TILE_HEIGHT,
tile.dx*OUT_WIDTH, tile.dy*OUT_HEIGHT,
OUT_WIDTH, OUT_HEIGHT);
我看到的唯一区别是我在做乘以WIDTH和HEIGHT参数。然而,一个人能够工作,另一个人能够提供例外。
我想使用后面的代码,所以我可以直接对x,而不是sx/TILE_WIDTH == dx/OUT_WIDTH来编译.sx和.dx的x和y值。我想我总是可以添加另外几个字段来复制努力,但似乎我不应该那样做。
任何想法,为什么一个工程,其他不?
任何机会都可以提供一个摄制链接? – 2010-08-26 00:35:19