2016-03-02 97 views
0

我有稱爲管道存儲對象被存儲功能

function pipe() 
{ 
    this.x = 800; 
    this.width = 50; 
    this.y = 450; 
} 

自定義對象當試圖在數組中它不是存儲對象,但功能存儲管道。

function loop() 
{ 
    var flappy = new player(); 
    for(var i = 0; i < 3; ++i) 
    { 
     var p = new pipe(); 
     p.x = (1 + i) * 266; 
     pipes.push(pipe); 
    } 
    interval = window.setInterval(function() { updateLogic(flappy) } , 20); 
} 

如果我嘗試訪問管道中管道的屬性,它說未定義。

var pipe = pipes[0]; 
console.log(pipe.x); 
+0

'pipe'將返回函數表達式(body)。你有沒有在任何地方定義'var pipes = []'? – Rayon

回答

2

你把pipes.push(pipe)而不是pipes.push(p)

+0

這將是罪魁禍首。謝謝 – Programatic