沙盘引擎 (SEngine)

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

用户工具

站点工具


scripting:client:gui

📚 差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
scripting:client:gui [2023/08/08 16:58] bibiboxsscripting:client:gui [2024/05/16 04:05] (当前版本) bibiboxs
行 2: 行 2:
 # Client/GUI # Client/GUI
  
-在沙盘引擎当前版本GUI系统中,所有实例均是基于[FairyGUI框架](https://fairygui.com/)作为核心基础。+在沙盘引擎当前版本GUI系统中,**所有关于UI实例均是基于[FairyGUI框架](https://fairygui.com/)作为核心基础**
  
-在此前提下,开发者可使用`FairyGUI编辑器`进行快速可视化的UI制作,也可以使用`JavaScript`代码直接操作`FairyGUI对象`以控制UI逻辑。+在此前提下,开发者可**使用FairyGUI编辑器进行快速可视化的UI制作**同时搭配`JavaScript`代码直接操作**`FairyGUI`对象**以控制UI逻辑。
  
 换句话说,沙盘引擎有关GUI部分,除了少数引擎内置代码外(如创建UI),其他代码部分均可通过`FairyGUI`原生代码\函数进行操作和调用。 换句话说,沙盘引擎有关GUI部分,除了少数引擎内置代码外(如创建UI),其他代码部分均可通过`FairyGUI`原生代码\函数进行操作和调用。
行 18: 行 18:
 ``` ```
  
-==**注意:沙盘引擎与`FairyGUI`同样建议使用【1个组件+N个子组件】的方式进行UI创建,而不是分别在不同位置创建不同的UI小组件。**==+==**注意:沙盘引擎与`FairyGUI`同样建议使用【1个组件+N个子组件】的方式进行UI创建,而不是分别在不同位置创建不同的UI小组件。**== 
 + 
 +==**提示:在开始使用GUI相关功能之前,建议优先阅读[《GUI功能参考》](developer/mod/gui "《GUI功能参考》"),以详细了解GUI功能作用及原理。**== 
 + 
 + 
 + 
 +## Static Property 
 + 
 +### GUI.MousePos 
 + 
 +> 获取玩家鼠标坐标位置(2D平面坐标)。 
 + 
 +```javascript 
 +GUI.MousePos: Vector 
 +``` 
 + 
 + 
 + 
 +### GUI.MouseScroll 
 + 
 +> 获取玩家鼠标滚轮滚动偏移量(自动归0)。 
 +
 +> **(向上 > 0 > 向下 )** 
 + 
 +```javascript 
 +GUI.MouseScroll: float 
 +``` 
 + 
 + 
 + 
 +### GUI.InputAwayTime 
 + 
 +> 获取玩家输入(键盘)空闲时间(玩家在此时间内没有使用键盘)。 
 +
 + 
 +```javascript 
 +GUI.InputAwayTime: float 
 +``` 
 + 
 + 
 + 
 +### GUI.ControlAwayTime 
 + 
 +> 获取玩家控制(鼠标)空闲时间(玩家在此时间内没有使用及移动鼠标)。 
 + 
 +```javascript 
 +GUI.ControlAwayTime: float 
 +``` 
 + 
 + 
 + 
 +## Static Function 
 + 
 +### GUI.SetPureMode() 
 + 
 +> 设置GUI纯净模式开关(是否渲染UI),此属性可能有助于拍摄模式。 
 +>  
 +> **注意:此模式同时属于引擎内置功能,玩家可能通过快捷键或`[Esc]`进行开关。** 
 + 
 +```javascript 
 +function SetPureMode( active: bool ) 
 +``` 
 + 
 + 
 + 
 +### GUI.GetPureMode() 
 + 
 +> 获取GUI纯净模式开关。 
 + 
 +```javascript 
 +function GetPureMode(): bool 
 +``` 
 + 
 + 
 + 
 +### GUI.SetCursor() 
 + 
 +> 设置当前使用的光标ID,默认为`0`,具体类型样式参考[《世界资源实例汇总》](reference/instances)。 
 +
 +> 每次加载新的世界场景后,光标样式将重置到默认值。 
 + 
 +```javascript 
 +function SetCursor( cursorID: int ) 
 +``` 
 + 
 + 
 + 
 +### GUI.GetCursor() 
 + 
 +> 获取当前使用的光标ID,默认为`0`。 
 + 
 +```javascript 
 +function GetCursor(): int 
 +``` 
 + 
 + 
 + 
 +### GUI.SetCursorActive() 
 + 
 +> 设置鼠标是否可见,通常游戏时不可见,菜单或需要操作UI时可见。 
 +
 +> 每次加载新的世界场景后,此属性将重置到默认值(可见)。 
 +
 +> 注意:当弹出操作UI时会自动转变为可见状态,开发者无需过多干预这部分逻辑。 
 + 
 +```javascript 
 +function SetCursorActive( active: bool = true ) 
 +``` 
 + 
 + 
 + 
 +### GUI.GetCursorActive() 
 + 
 +> 获取鼠标是否可见。 
 + 
 +```javascript 
 +function GetCursorActive(): bool 
 +``` 
 + 
 + 
 + 
 +### GUI.SetCrosshair() 
 + 
 +> 设置准星样式ID,默认`0`。 
 + 
 +```javascript 
 +function SetCrosshair( crosshair: int ) 
 +``` 
 + 
 + 
 + 
 +### GUI.GetCrosshair() 
 + 
 +> 获取准星样式ID。 
 + 
 +```javascript 
 +function GetCrosshair(): int 
 +``` 
 + 
 + 
 + 
 +### GUI.SetCrosshairActive() 
 + 
 +> 设置准星是否可见,默认`false`。 
 + 
 +```javascript 
 +function SetCrosshairActive( active: bool ) 
 +``` 
 + 
 + 
 + 
 +### GUI.GetCrosshairActive() 
 + 
 +> 获取准星是否可见。 
 + 
 +```javascript 
 +function GetCrosshairActive(): bool 
 +``` 
 + 
 + 
 + 
 +### GUI.SetCrosshairColor() 
 + 
 +> 设置准星默认颜色,默认`Color(255, 255, 255)`。 
 + 
 +```javascript 
 +function SetCrosshairColor( color: Color ) 
 +``` 
 + 
 + 
 + 
 +### GUI.GetCrosshairColor() 
 + 
 +> 获取准星默认颜色。 
 + 
 +```javascript 
 +function GetCrosshairColor(): Color 
 +``` 
 + 
 + 
 + 
 +### GUI.SetCrosshairScale() 
 + 
 +> 设置准星默认缩放大小,默认`1.0`。 
 + 
 +```javascript 
 +function SetCrosshairScale( scale: float ) 
 +``` 
 + 
 + 
 + 
 +### GUI.GetCrosshairScale() 
 + 
 +> 获取准星默认缩放。 
 + 
 +```javascript 
 +function GetCrosshairScale(): float 
 +``` 
 + 
 + 
 + 
 +### GUI.FocusCrosshair() 
 + 
 +> 激活一次准星反馈,例如击中后的动画效果。 
 +
 +> 动画效果会在指定`time`时间后自动复原。 
 + 
 +```javascript 
 +function FocusCrosshair( time: float = 0.5, crosshair: int = -1, scale: float = 1.2, color: Color = Color(255, 255, 255) ) 
 +``` 
 + 
 +- **`time`:**激活一次的动画时间 
 +- **`crosshair`:**激活时的临时准星ID(默认`-1`,表示使用当前准星) 
 +- **`scale`:**激活时的准星缩放(缩放大小,而非缩放倍数) 
 +- **`color`:**激活时的准星颜色 
 + 
 + 
 + 
 + 
 +### GUI.FocusCrosshairText() 
 + 
 +> 激活一次准星文本反馈(准星下方的文本标签)。 
 +
 +> 如果`time`参数填写为0,则表示文本将持续存在,否则将在指定时间内淡出。 
 + 
 +```javascript 
 +function FocusCrosshairText( text: string, time: float = 1.5 ) 
 +```
  
  
行 87: 行 314:
 //创建一个包名为ABC、组件名为ComA的GUI实例 //创建一个包名为ABC、组件名为ComA的GUI实例
 GUI.Create("ABC", "ComA"); GUI.Create("ABC", "ComA");
 +```
 +
 +
 +
 +### GUI.GetModelPreview()
 +
 +> 获取指定已导入模型的缩略图(包括外部导入模型),返回类型为FGUI可读的`NTexture`,可供FGUI直接使用。
 +
 +```javascript
 +function GUI.GetModelPreview( model: int ): NTexture
 +```
 +
 +```javascript
 +let texture = GUI.GetModelPreview(2000);
 +xxxxx.texture = texture; //FGUI API
 +```
 +
 +
 +
 +### GUI.TextureToUI()
 +
 +> 将引擎内原生\外部导入的图片转换为FGUI可读类型(`NTexture`)。
 +
 +```javascript
 +function GUI.TextureToUI( texture: int ): NTexture
 +```
 +
 +```javascript
 +let texture = GUI.TextureToUI(10000);
 +xxxxx.texture = texture; //FGUI API
 ``` ```
  
行 111: 行 368:
 function gui.GetChild( child: string ): GObject //FairyGUI对象 function gui.GetChild( child: string ): GObject //FairyGUI对象
 ``` ```
 +
 +
 +
 +
 +
 +
 </markdown> </markdown>
scripting/client/gui.1691485080.txt.gz · 最后更改: 2023/08/08 16:58 由 bibiboxs