手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

饥荒mod教程:再论界面

时间:2024-10-27 14:55:07

系统ui{主界面}------mainscreen.lua

这个文件用来生成主界面,就是我们运行饥荒时显示的界面,我们通过修改这个文件,可以定制自己mod的个性界面(不过我不赞同这样,你应该创建一个新的界面,之后修改代码,替换掉mainscreen,而不是修改他,这个方法以后再说)

这个文件导入别的界面(设置界面,开始界面等),并生成一个基本界面对象,控制别的界面的显示与隐藏.

从一个最简单的函数说起,MainScreen:Settings(328行),在主界面调用这个函数时,弹出设置窗口,我们来看一下这个函数时怎样实现的.在饥荒里,都用一个FrontEnd(见FrontEn.lua)类的实例TheFrontEnd,这个就是前端显示,在这个对象里,有一个弹出窗口的函数(PushScreen330行),这个函数接受一个界面作为参数,并显示出这个界面.

这个函数很重要很重要很重要,假如你自己做了一个界面,就可以用这个函数调用了.

MainScreen:Settings每一次调用,就是弹出一个设置窗口而已,我们再来看这个在什么时候被调用(废话,一定在点击setting按钮时被调用了呗).妈的,这个函数没你们想得那样简单,很复杂的说.

首先,在每一个界面(screen)里都用一个主要的函数(doinit49行),用来绘制这些个按钮啊,图片啊,菜单啊.在主界面的doinit里,绘制了许多的控件,其中他调用了mainmenu(231,452行)函数来绘制菜单(就是在主窗口右边的那几个按键,就是传说中的菜单了),其中有一个菜单项(OPTIONS,选项,471行),绑定了事件DoOptionsMenu(373),(就是我们单击这个菜单项时,就调用DoOptionsMenu函数)

调用了DoOptionsMenu()函数之后,主界面的menu就随之改变(从原来的开始,mods,选项,退出.变成了设置,控制,制作组,更多游戏),其中的”设置”菜单项就,绑定了Settings这个函数,每一次我们点击:设置”菜单项,就调用Settings()函数,弹出OptionsScreen(设置界面).

最后我们来看一下饥荒运行之后载入界面的过程,运行饥荒主程序,调用main.lua,再调用mainfunction.lua,在mainfunction.lua文件里有一个Start(开始,594行)函数,调用这个函数,生成一个FrontEnd类的实例TheFrontEnd,再调用gamelogic.lua文件,这个文件里的DoResetAction(976)函数,生成一个新的主界面MainScreen对象,之后调用TheFrontEnd:ShowScreen(1010行)来显示界面.

行了,说完了,最后提醒一下,我们修改gamelogic.lua里的DoResetAction函数,可以更改饥荒的默认界面.

© 手抄报圈