沙盘引擎 (SEngine)

创意诞生沙盘世界,不止如此想象!

用户工具

站点工具


侧边栏

scripting:client:gui

这是本文档旧的修订版!


📚 Client/GUI

在沙盘引擎当前版本GUI系统中,所有关于UI实例均是基于FairyGUI框架作为核心基础。

在此前提下,开发者可使用FairyGUI编辑器进行快速可视化的UI制作,也可以使用JavaScript代码直接操作FairyGUI对象以控制UI逻辑。

换句话说,沙盘引擎有关GUI部分,除了少数引擎内置代码外(如创建UI),其他代码部分均可通过FairyGUI原生代码\函数进行操作和调用。

let gui = GUI.Create("Package1", "Component1"); //引擎代码,以来创建一个UI对象
let button = gui.GetChild("n0"); //引擎代码,寻找加载UI中的某个子元件
 
button.onClick.Set(() => { //FairyGUI原生代码,按照JavaScript格式来写即可
    DLog("onClick!");
    button.TweenScale(Vector2(2, 2), 1); //部分情况下,FairyGUI代码需要提供的是 Vector2 对象
});

注意:沙盘引擎与FairyGUI同样建议使用【1个组件+N个子组件】的方式进行UI创建,而不是分别在不同位置创建不同的UI小组件。

📒 Property

📘 GUI.MousePos

获取当前用户鼠标坐标位置。

GUI.MousePos: Vector

📘 gui.Package

获取当前GUI实例的包名(只读)。

gui.Package: string

📘 gui.Component

获取当前GUI实例的组件名(只读)。

gui.Component: string

📘 gui.Panel

获取当前GUI实例的UIPanel对象,通常情况下无需使用此属性。

gui.Panel: UIPanel

📘 gui.UI

获取当前GUI实例的根对象(GObject),通常情况下无需使用此属性。

gui.UI: GObject

📘 gui.SortingOrder

设置当前GUI实例的层级,默认为0(范围:-1~50),请勿频繁调用此代码。

gui.SortingOrder = 0; //int

📒 Static Function

📘 GUI.Create()

生成一个新的GUI实例。

function GUI.Create( package: string, component: string ): GUI
//创建一个包名为ABC、组件名为ComA的GUI实例
GUI.Create("ABC", "ComA");

📒 Function

📘 gui.Remove()

移除并销毁当前GUI实例。

function gui.Remove()

📘 gui.GetChild()

寻找并获取当前GUI实例的指定子元件(对象),如不存在则返回null

function gui.GetChild( child: string ): GObject //FairyGUI对象

scripting/client/gui.1691581869.txt.gz · 最后更改: 2023/08/09 19:51 由 bibiboxs