我正在使用canvas/JS製作我的第一個遊戲,並且遇到了函數構造函數的問題。我們正在努力使敵人物體在創造時隨機接受兩個精靈之一。下面是我們的代碼片段:Javascript:構造函數中的隨機精靈選擇
function Enemy() {
// Boilerplate stuff omitted. Relevant bit:
if (randomFromTo(1,50)%2 === 0) { // Assume this function works correctly
this.sprite.src = "images/scientist_1.png";
} else {
this.sprite.src = "images/scientist_2.png";
}
}
var enemy1 = new Enemy();
var enemy2 = new Enemy(); // etc
似乎足夠直截了當,但它與具有相同精靈的每一個敵人對象結束。我不知道爲什麼會發生這種情況 - 如果我將控制檯日誌消息放在適當的位置,它會記錄正確的選擇,但是每個敵人最終都會有相同的精靈。那麼假設可能的話,最好的方法是什麼?謝謝!
如何初始化'this.sprite'?也許所有的敵人都共享相同的圖像對象? – kayahr 2012-02-18 17:54:52
你打電話過得怎麼樣? – Sarfraz 2012-02-18 17:54:56
什麼是'this.sprite'?它在哪裏宣佈? – satoshi 2012-02-18 17:55:31