使用类似静态字典的类将大量的字符串键链接到类上

问题描述 投票:1回答:1

当前,我有两个类MC_Dictionnary_Bad和MC_Dictionnary_Good,它们的初始化方式如下:

package classes
{
    import flash.utils.Dictionary;

    public dynamic class MC_Dictionnary_Bad extends Dictionary
    {
        public function Custom_Dictionary()
        {
            this["monster,0,0,0"] = "Monster_Light_Swanp_Red";
            this["monster,0,0,1"] = "Monster_Light_Swanp_Blue";
            this["monster,0,0,2"] = "Monster_Light_Swanp_Yellow";
            this["monster,0,0,3"] = "Monster_Light_Swanp_Dark";
            ...
        }
    }
}

它们在加载过程中被初始化,并在整个游戏中被保存。

我需要将一个名称和三个索引链接到类名称,因此在给定用户输入的情况下,可以在需要时创建适当的类。

但是,我不想使用动态类。

这里有没有一种不使用动态类的干净方法?

actionscript-3 flash class dynamic dictionary
1个回答
0
投票

无需为此模型扩展Dictionary-类中仅包含两个字典:

Dictionary

如果键始终是字符串,则可以将其定义为package { import flash.utils.Dictionary; public final class Game { protected var MC_Dictionnary_Bad:Dictionary = new Dictionary(); protected var MC_Dictionnary_Good:Dictionary = new Dictionary(); public function Game() { initialize(); } protected function initialize():void { MC_Dictionnary_Bad["monster,0,0,0"] = "Monster_Light_Swanp_Red"; MC_Dictionnary_Bad["monster,0,0,1"] = "Monster_Light_Swanp_Blue"; MC_Dictionnary_Bad["monster,0,0,2"] = "Monster_Light_Swanp_Yellow"; MC_Dictionnary_Bad["monster,0,0,3"] = "Monster_Light_Swanp_Dark"; } } } ,这也将使数据加载变得容易。可以从URL和JSON加载对象,而不是将对象嵌入应用程序中。

JSON
© www.soinside.com 2019 - 2024. All rights reserved.