【饥荒随笔】类与界面
来源:互联网 发布:开源微信商城java源码 编辑:程序博客网 时间:2024/03/29 23:27
饥荒采用面向对象的编程范型,其核心是class 文件,利用lua元表,实现类的继承。
在饥荒里有着千奇百怪的类,动物是类,界面是类,连地图也是类,看饥荒的源码,主要把握各个类之间的继承与关系,弄清楚在什么时候需要用到哪一个类,这个变量试试哪个类的实例,它继承了类的哪些方法,又有什么属性可以调用。
Widget和screen 两个文件夹是关于界面的,每个文件其实都定义了一个类,它们都有着共同的一个基类——widget,定义在widget/widget.lua 里。
而screen 继承了widget,两种文件结构基本相同。
继承了screen 的子类,会在其它的文件或其它的screen里被调用,我不可能一个个讲,我讲一些典型的,剩下的以此类推过去吧。
用TheFrontEnd:ShowScreen(ScreenClass(…)) 可以在游戏上显示一个界面,具体层次由各个文件决定。
我们饥荒在无安装任何mod时,第一个载入的界面是mainscreen 而 当我们有安装mod或者代码出现错误时,会显示scripterrorscreen 。
注:并不是所有的错误都会显示错误界面,而是代码错误不“危害全局”时才显示错误,不然会直接闪退或者显示某某内存不能读写,如果出现这种情况,原因也就那三四个,等以后整理一下发出来。
额,扯远了(其实我还想再扯一下的),用
TheFrontEnd:ClearScreens()
可以消除当前所有显示的界面,调用的资源全部会被GC(垃圾处理),这样可以省点内存,当因您的界面出现内存溢出是,这个函数是一个好的选择。
不过,调用这个函数时,界面会被全部清除,所以接下来要紧跟一个
TheFrontEnd:ShowScreen()
函数,不然会出现黑屏现象。
以上内容,请参阅gamelogic.lua和mainfunction.Lua.
- 【饥荒随笔】类与界面
- 【饥荒随笔】worldgen_main
- 【饥荒随笔】事件系统
- 【饥荒随笔】关于代码的定义
- 饥荒攻略
- java随笔--接口与类
- android 学习随笔五(界面)
- 饥荒:mod教程索引
- 【饥荒】介绍一些组件
- Android学习随笔(9)------界面实践
- 随笔类
- Java与.NET随笔
- role与privilege随笔
- html5与css3随笔
- [随笔]抽象与分层
- 饥荒:在制做mod之前
- 饥荒mod工具的编译
- JAVA随笔——File类与热键的使用
- [LeetCode OJ]Remove Duplicates from Sorted List
- 关于开篇
- IOS6内存警告处理
- 递归之排列组合
- JVM内存配置详解
- 【饥荒随笔】类与界面
- PCB板设计中接地经验谈
- Apache DBUtils使用总结
- clearcase check in时遇到Evil Twin found问题
- 【饥荒随笔】worldgen_main
- poj 3469 最小割
- TCP源端口选择算法与列维模型
- iOS8 无法收到APNS问题
- 【饥荒随笔】关于代码的定义