多语言展示
当前在线:180今日阅读:126今日分享:42

饥荒mod教程:再论界面

系统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函数,可以更改饥荒的默认界面.
推荐信息