第三章 - 添加Gui组件
一个空白的Gui并不能显示很多你想要显示的内容,以及完成一些高级的操作,现在我们就为我们刚刚创建的Gui添加组件。
本教程介绍以下Gui组件:
- VexText - 文本组件
- VexImage - 图片组件
- VexButton - 按钮组件
其他的组件在高级篇介绍。
添加组件需要调用VexGui类的addComponent方法,所有的组件都继承于VexComponents类,它们都位于lk.vexview.gui.components包下。
首先是VexText - 文本组件,他可以在你的Gui中显示文本内容,允许使用颜色代码、自定义字体大小、自定义位置。
请一定注意,组件的坐标是以Gui的左上角为原点计算坐标。
现在我们在游戏中打开我们刚刚添加好组件的Gui,就是这种效果啦:
图片组件的添加需要你在客户端的.minecraft/vexview/textures文件夹中提前放好,最好是png格式图片。
关于贴图的Url,它可以是网络贴图(打开GUI的时候下载),也可以是本地贴图(添加[local]前缀)
我们这里使用默认贴图包提供的本地贴图:
现在进入客户端测试效果吧:
按钮组件是我们的重头戏,你可以自定义点击按钮执行的内容,按钮的两种贴图、按钮的位置。
为了更加灵活,我们还提供了更加高级的按钮组件(高级篇讲解),我们这里讲解最基本的VexButton类。
添加一个基本按钮组件的示例代码如下:
在游戏中我们就可以直接点击这个按钮了。
但是它还没有任何的功能,这个时候我们需要用到ButtonFunction类,此类定义了Function函数式接口@FunctionalInterface,在VexButton的构造方法中,你可以直接传入函数式作为按钮点击后触发的效果。
idea提示使用lambd表达式:
写入要处理的内容吧。
现在进游戏测试吧!
当然,你也可以通过监听按钮点击事件来处理按钮的执行内容,事件系统我们会在后面讲解。