我正在做一個蛇遊戲,但是當我嘗試和實例化我的蛇對象時,我得到「Uncaught TypeError:undefined不是函數」。對象不會被創建?
function draw(){
var canvas = document.getElementById("canvas");
if (canvas.getContext){
var ctx = canvas.getContext('2d');
}
drawSnake();
}
這是我實例化對象的蛇和借鑑,並在那裏我得到的錯誤更具體線路13
function drawSnake(){
var Snake = new Snake(250,250,-1,0);
Snake.create();
ctx.fillStyle = "white";
for(i=Snake.snakeBlock.length(); i>=0;i--){
var s = Snake.snakeBlock[i].block;
ctx.fillRect(s.xPos,s.xPos,s.height,s.width);
}
}
function Block(x,y,w,h){
var xPos = x;
var yPos = y;
var width = w;
var height = h;
}
這是我定義的蛇對象但我仍然得到一個錯誤。
function Snake(x,y,dY,dX){
var snakeBlock = [];
var length = 20;
var xPos = x;
var yPos = y;
var dirX = dX;
var dirX = dY;
Snake.prototype.create = function(){
for (var i = 0; i <= length; i++) {
snakeBlock.push(new Block((xPos-(i*10))*dirX, (yPos-(i*10))*dirY,10,10));
};
}
}
在創建對象時我忽略了什麼,因爲我無法弄清楚代碼有什麼問題。
有關構造函數和原型的更多信息,以下答案可能有所幫助:http://stackoverflow.com/a/16063711/1641941 – HMR