我試圖在我的畫布遊戲中實現像素完美碰撞檢測,但是我似乎無法從我的精靈中獲取像素信息。從畫布精靈獲取圖像像素數據
我需要精靈的每個像素的x和y值,並且從我讀過的內容中我使用getImageData()
方法來做到這一點。
然而,這不起作用:
this.sprite = new Image();
this.sprite.src = 'img/player.png';
console.log(this.sprite.getImageData());
我是否可能使用了錯誤類型的精靈?因爲我在控制檯收到此錯誤:
Uncaught TypeError: Object # has no method 'getImageData'
'getImageData()'是一種用於畫布的方法,而不是圖像。 「從我的精靈中獲取像素信息」是什麼意思? – romainberger 2013-03-13 20:03:25
框檢測並不困難 - 基於像素形狀的檢測可能會非常耗費流程。 請參閱:http://stackoverflow.com/questions/8017541/javascript-canvas-collision-detection和:http://stackoverflow.com/questions/4871669/collision-detection-in-javascript-game – 2013-03-13 20:08:39
啊,我認爲它可能是。我的意思是我想知道畫布上x和y座標的每個像素在我的精靈中。 @Diodeus,沒有你想象的那麼多。雖然它可以帶有很多對象,但我一次只能在畫布上放置幾個精靈。此外,由於精靈不是矩形,因此盒檢測對於此目的不夠好。 – 2013-03-13 20:11:05