原标题:[专栏作家] Lua写UI的一些使用心得
之前提到,根据我们的项目需求,战斗部分,用c#来写。其他我们都用lua来写,保证在ios平台可热更新的部分更多。
lua在游戏中,很多时候,主要做的是UI部分。所以,我们今天只说说在UI上的一点小心得。我们使用的是UGUI,以下,均以UGUI来做说明。
在UI部分,除了具体的逻辑,开始很大一部分工作,是如何在代码中,获得我们需要的对应的各个Gameobject或者component。
我们先简单回顾以下,如果用C#来写UI逻辑,大体上有几种办法获得component:
在代码中,通过路径读取。例如:
GetComponentByPath和GetComponentByName是我们简单扩展的方法
这种方法,最原始,麻烦之处就不用细说,都能理解。
2. 这种方法是将脚本挂在prefab上,直接拖对应的component到field上
这种方式简单明了,但是我们如果用lua做,不可能给每个界面,额外加一个c#的类。
3. 有些项目会选择给prefab上的资源以一定的命名规则,然后写逻辑自动生成。
根据命名前缀或者后缀来标记
这种办法好处是,写一个通用的解析代码,后面就省事了