多语言展示
当前在线:840今日阅读:91今日分享:37

饥荒mod教程:控件

第二章:系统ui{主界面}------mainscreen.lua这个文件用来生成主界面,就是我们运行饥荒时显示的界面,我们通过修改这个文件,可以定制自己mod的个性界面(不过我不赞同这样,你应该创建一个新的界面,之后修改代码,替换掉mainscreen,而不是修改他,这个方法以后再say)这个文件导入别的界面(设置界面,开始界面等),并生成一个基本界面对象,控制别的界面的显示与隐藏.从一个最简单的函数说起,MainScreen:Settings(328行),在主界面调用这个函数时,弹出设置窗口,我们来看一下这个函数时怎样实现的.在饥荒里,都用一个FrontEnd(见FrontEn.lua)类的实例TheFrontEnd,这个就是前端显示,在这个对象里,有一个弹出窗口的函数(PushScreen330行),这个函数接受一个界面作为参数,并显示出这个界面.这个函数很重要很重要很重要,假如你自己做了一个界面,就可以用这个函数调用了.MainScreen:Settings每一次调用,就是弹出一个设置窗口而已,我们再来看这个在什么时候被调用(废话,一定在点击setting按钮时被调用了呗).这个函数没你们想得那样简单,很复杂的说.首先,在每一个界面(screen)里都用一个主要的函数(doinit49行),用来绘制这些个按钮啊,图片啊,菜单啊.在主界面的doinit里,绘制了许多的控件,其中他调用了mainmenu(231,452行)函数来绘制菜单.下面的注意看!!!!!!!!!!!!!!!!!!!!!!!!!!!!!IsGamePurchased函数定义在这个函数返回一个布尔值.继续原理如下:先建立一个菜单表,把每一项菜单加入菜单里,主界面设置菜单.现在我们来增加一个增加的菜单其中有一个菜单项(OPTIONS,选项,471行)绑定了事件DoOptionsMenu(373),(就是我们单击这个菜单项时,就调用DoOptionsMenu函数)调用了DoOptionsMenu()函数之后,主界面的menu就随之改变变成了,中的”设置”菜单项就,绑定了Settings这个函数,每一次我们点击:设置”菜单项,就调用Settings()函数,弹出OptionsScreen(设置界面).最后我们来看一下饥荒运行之后载入界面的过程,运行饥荒主程序,调用main.lua,再调用mainfunction.lua,在mainfunction.lua文件里有一个Start(开始,594行)函数,调用这个函数,生成一个FrontEnd类的实例TheFrontEnd,再调用gamelogic.lua文件,这个文件里的DoResetAction(976)函数,生成一个新的主界面MainScreen对象,之后调用TheFrontEnd:ShowScreen(1010行)来显示界面.提醒一下,我们修改gamelogic.lua里的DoResetAction函数,可以更改饥荒的默认界面.-------------来弄一个好玩的,我们来增加一个新的界面吧.(tm的,我弄了两个小时啊啊啊)效果图步骤1创建与修改screen文件.2增加与这个界面有关的事件在饥荒目录里随便哪个地方新建一个lua文件,名称改为czfscreen(不过我推荐创建在screens文件夹里)打开这个文件,把下面的代码导入,(额!图片不能复制粘贴→.→)文件内容就在上面,每一个命令都有详尽的解释再打开mainscreen.lua,我们增加一个函数,让这个窗口显示增加一个函数,增加一个按钮,在mainmenu函数里,上面有写
推荐信息