沙盘引擎 (SEngine)

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

用户工具

站点工具


scripting:client:gui

📚 差别

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

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
scripting:client:gui [2023/09/16 11:11] bibiboxsscripting:client:gui [2024/05/16 04:05] (当前版本) bibiboxs
行 4: 行 4:
 在沙盘引擎当前版本GUI系统中,**所有关于UI实例均是基于[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`原生代码\函数进行操作和调用。
行 21: 行 21:
  
 ==**提示:在开始使用GUI相关功能之前,建议优先阅读[《GUI功能参考》](developer/mod/gui "《GUI功能参考》"),以详细了解GUI功能作用及原理。**== ==**提示:在开始使用GUI相关功能之前,建议优先阅读[《GUI功能参考》](developer/mod/gui "《GUI功能参考》"),以详细了解GUI功能作用及原理。**==
- 
- 
  
  
行 30: 行 28:
 ### GUI.MousePos ### GUI.MousePos
  
-> 获取玩家鼠标坐标位置。+> 获取玩家鼠标坐标位置(2D平面坐标)
  
 ```javascript ```javascript
行 46: 行 44:
 ```javascript ```javascript
 GUI.MouseScroll: float 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 )
 ``` ```
  
行 115: 行 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
 ``` ```
  
行 139: 行 368:
 function gui.GetChild( child: string ): GObject //FairyGUI对象 function gui.GetChild( child: string ): GObject //FairyGUI对象
 ``` ```
 +
 +
 +
 +
  
  
 </markdown> </markdown>
scripting/client/gui.1694833876.txt.gz · 最后更改: 2023/09/16 11:11 由 bibiboxs