對象我寫了這個代碼如何訪問在AS3
var enemies:Object = new Object();
// HP MP ATK DEF MATK MDEF AGI LUCK
enemies.Goblin = [40, 20, 6, 6, 3, 3, 4, 1];
其中包含這些統計信息的妖精,我創建了應該採取的統計,從enemies.Goblin並把它們放在一些變量,但它的功能將無法工作。
function createEnemy(enemyName:String):void {
e_hp = enemies.enemyName[0];
e_mp = enemies.enemyName[1];
e_atk = enemies.enemyName[2];
e_def = enemies.enemyName[3];
e_matk = enemies.enemyName[4];
e_mdef = enemies.enemyName[5];
e_agi = enemies.enemyName[6];
e_luck = enemies.enemyName[7];
}
這是輸出錯誤當執行createEnemy功能:類型錯誤:錯誤#1010:一個術語是不確定的,沒有屬性。
你能解釋我爲什麼訪問屬性的索引可能創造的後患? – Cress 2015-02-07 20:40:25
把它們記爲「hp」,「mp」等,而不是1,2等,要容易得多。當你的代碼變得更加複雜時,你會想要添加或刪除一些屬性。之後,你會想重新枚舉它們。這些索引需要多次更改,代碼將變得難以管理。通過添加或刪除屬性的方式來考慮,不需要更改其他屬性的代碼。如果您添加或刪除屬性「hp」,它不會影響屬性「mp」和任何其他屬性。如果您刪除屬性1,它將影響1後的所有屬性 - 它們的索引將會更改。看到? – 2015-02-07 21:35:05