我想破壞一張spritesheet,並且不會像它應該將它放入二維數組中。在我的代碼結尾,console.log附近,它吐出ImageData ...但是當它試圖putImageData ...我得到Uncaught TypeError: Type error
JavaScript - 未捕獲TypeError:類型錯誤
幫助?
,這裏是我的代碼:
$(document).ready(function() {
console.log("Client setup...");
canvas = document.getElementById("canvas");
context = canvas.getContext("2d");
canvas.tabIndex = 0;
canvas.focus();
console.log("Client focused.");
var imageObj = new Image();
imageObj.src = "./images/all_tiles.png";
imageObj.onload = function() {
context.drawImage(imageObj, imageWidth, imageHeight);
};
var allLoaded = 0;
var tilesX = ImageWidth/tileWidth;
var tilesY = ImageHeight/tileHeight;
var totalTiles = tilesX * tilesY;
var tileData = [totalTiles]; // Array with reserved size
for(var i=0; i<tilesY; i++)
{
for(var j=0; j<tilesX; j++)
{
// Store the image data of each tile in the array.
tileData.push(context.getImageData(j*tileWidth, i*tileHeight, tileWidth, tileHeight));
allLoaded++;
}
}
if (allLoaded == totalTiles) {
console.log("All done: " + allLoaded);
console.log(tileData[1]);
context.putImageData(tileData[0], 0 ,0); // Sample paint
}
});
錯誤發生在context.putImageData(tileData[0], 0 ,0); // Sample paint
下面是代碼示例小提琴上述http://jsfiddle.net/47XUA/
那......什麼都沒做。還是一樣。 – nn2 2012-07-18 18:56:04
澄清,它仍然產生相同的'類型錯誤'?我的叉不(在Chrome和FF):http://jsfiddle.net/HBzH7/ – apsillers 2012-07-18 18:57:48
我沒有看到'context.putImageData(tileData [1],0,0);'畫布上的圖像? – nn2 2012-07-18 19:12:32