沙盘引擎 (SEngine)

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

用户工具

站点工具


scripting:client:main

📚 差别

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

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
scripting:client:main [2023/11/13 16:06] bibiboxsscripting:client:main [2024/04/04 18:29] (当前版本) bibiboxs
行 15: 行 15:
  
 > 当**客户端脚本**被完整加载后调用。 > 当**客户端脚本**被完整加载后调用。
 +
 +> **注意:此事件并非是客户端首个运行事件,通常会等待`Player`完整加载后才会执行,因此部分有关`OnPlayerXXX`的事件可能会更加提前。**
  
  
行 26: 行 28:
 ### OnFrameUpdate( deltaTime ) ### OnFrameUpdate( deltaTime )
  
-> 当脚本加载完成后每帧调用。+> 当脚本加载完成后**每帧**调用。
  
 由于此事件属于**客户端脚本**范畴,所以可以理解为每帧渲染事件,无须担心延迟问题。 由于此事件属于**客户端脚本**范畴,所以可以理解为每帧渲染事件,无须担心延迟问题。
行 32: 行 34:
 ``` ```
 deltaTime:float //增量时间 deltaTime:float //增量时间
 +```
 +
 +
 +
 +### OnFixedUpdate( fixedDeltaTime )
 +
 +> 当脚本加载完成后**固定增量时间**调用(与[Unity原理](https://blog.csdn.net/hang981601026/article/details/79640678 "Unity原理")相同)。
 +
 +此事件会以`FixedUpdate`的方式每隔固定时间调用,通常情况下可以忽略使用此事件。
 +
 +```
 +fixedDeltaTime:float //增量时间
 ``` ```
  
行 293: 行 307:
 ### SetChatEnabled() ### SetChatEnabled()
  
-> 设置是否允许开启游戏聊天窗口,默认为`true`,否则将无法通过正常方式打聊天框(但可正常收到消息)+> 设置游戏聊天
 > >
 > *此功能可用作主菜单界面,此时通常不希望玩家使用“聊天”功能。* > *此功能可用作主菜单界面,此时通常不希望玩家使用“聊天”功能。*
行 303: 行 317:
  
  
-###ScreenFade()+### GetChatEnabled() 
 + 
 +> 获取游戏聊天框开关。 
 + 
 +```javascript 
 +function GetChatEnabled(): bool 
 +``` 
 + 
 + 
 + 
 +### SetChatPanelPivot() 
 + 
 +> 设置游戏聊天框锚点位置(强制),默认值为`-1`(遵循游戏默认设置),通过此方法设定位置后,即使玩家在游戏选项设置了锚点位置,也会优先使用当前方法所设置的位置。 
 +
 +> *此功能适用于部分U丰富的模组,可能不希望聊天框占用模组UI位置(例如血条、状态条、信息面板等),可以使用此方法强制设定聊天框位置。* 
 + 
 +```javascript 
 +function SetChatPanelPivot( pivot: int = -1 ) 
 +``` 
 +```javascript 
 +SetChatPanelPivot(-1); //Use engine config (default) 
 +SetChatPanelPivot(0); //Change pivot to Left_Top 
 +SetChatPanelPivot(1); //Change pivot to Left_Center 
 +SetChatPanelPivot(2); //Change pivot to Left_Bottom 
 +``` 
 + 
 + 
 + 
 +### ScreenFade()
  
 > 执行一次全屏转场(`Alpha: 0 -> 1 -> 0`)。 > 执行一次全屏转场(`Alpha: 0 -> 1 -> 0`)。
  
 ```javascript ```javascript
-function ScreenFade( time: float, middleTime = 0, color: Color = Color(0, 0, 0), onMiddle = null, ignoreHit: bool = true )+function ScreenFade( time: float, middleTime = 0, color: Color = Color(0, 0, 0), isTop: bool = true, onMiddle = null, ignoreHit: bool = true )
 /* /*
  time:渐变时间(渐入>不透明>渐出),例如设置为2,则表示0~1秒变不透明,1~2秒变透明  time:渐变时间(渐入>不透明>渐出),例如设置为2,则表示0~1秒变不透明,1~2秒变透明
  middleTime:不透明延迟时间,默认为0,否则将等待X秒后再进行透明渐变  middleTime:不透明延迟时间,默认为0,否则将等待X秒后再进行透明渐变
  color:颜色,默认为黑色  color:颜色,默认为黑色
 + isTop:是否顶层,默认为true
  onMiddle:可选委托事件,当颜色完成不透明时调用  onMiddle:可选委托事件,当颜色完成不透明时调用
  ignoreHit:转场是否屏蔽点击,默认为true  ignoreHit:转场是否屏蔽点击,默认为true
行 325: 行 368:
  
 ```javascript ```javascript
-function ScreenFadeIn( time: float, color: Color = Color(0, 0, 0), onComplete = null, ignoreHit: bool = true )+function ScreenFadeIn( time: float, color: Color = Color(0, 0, 0), isTop: bool = true, onComplete = null, ignoreHit: bool = true )
 /* /*
  time:整体时间(渐入>不透明)  time:整体时间(渐入>不透明)
  color:颜色,默认为黑色  color:颜色,默认为黑色
 + isTop:是否顶层,默认为true
  onComplete:可选委托事件,当颜色完成不透明时调用  onComplete:可选委托事件,当颜色完成不透明时调用
  ignoreHit:转场是否屏蔽点击,默认为true  ignoreHit:转场是否屏蔽点击,默认为true
行 341: 行 385:
  
 ```javascript ```javascript
-function ScreenFadeOut( time: float, color: Color = Color(0, 0, 0), onComplete = null, ignoreHit: bool = true )+function ScreenFadeOut( time: float, color: Color = Color(0, 0, 0), isTop: bool = true, onComplete = null, ignoreHit: bool = true )
 /* /*
  time:整体时间(不透明>渐出)  time:整体时间(不透明>渐出)
  color:颜色,默认为黑色  color:颜色,默认为黑色
 + isTop:是否顶层,默认为true
  onComplete:可选委托事件,当颜色完成透明时调用  onComplete:可选委托事件,当颜色完成透明时调用
  ignoreHit:转场是否屏蔽点击,默认为true  ignoreHit:转场是否屏蔽点击,默认为true
行 352: 行 397:
  
  
-###Transition()+### Transition()
  
 > 执行一次全屏转场特效(`Alpha: 0 -> 1 -> 0`),不同的`type`有不同的效果。 > 执行一次全屏转场特效(`Alpha: 0 -> 1 -> 0`),不同的`type`有不同的效果。
  
 ```javascript ```javascript
-function Transition( type: int, addTime: float = 0, color: Color = Color(255, 255, 255), action: Action = null )+function Transition( type: int, addTime: float = 0, color: Color = Color(255, 255, 255), action: Action = null, isOut: bool = false )
 ``` ```
  
行 364: 行 409:
 - **color:**转场特效颜色 - **color:**转场特效颜色
 - **action:**当转场中途完全覆盖时执行代码 - **action:**当转场中途完全覆盖时执行代码
 +- **isOut:**是否立即淡出
  
 | Type | 说明                                   | | Type | 说明                                   |
行 381: 行 427:
  
  
- 
- 
- 
-### SetCursor() 
- 
-> 设置当前使用的光标ID,默认为`0`,具体类型样式参考[《世界资源实例汇总》](reference/instances)。 
-> 
-> 每次加载新的世界场景后,光标样式将重置到默认值。 
- 
-```javascript 
-function SetCursor( cursorID: int ) 
-``` 
- 
- 
- 
-### GetCursor() 
- 
-> 获取当前使用的光标ID,默认为`0`。 
- 
-```javascript 
-function GetCursor(): int 
-``` 
  
  
行 482: 行 506:
 > **补充:此方法设置的按键应该为【默认按键】,后续如果玩家自定义修改按键(如B),即使代码定义的仍然是【如H】,也会自动识别为玩家修改的【B】键。** > **补充:此方法设置的按键应该为【默认按键】,后续如果玩家自定义修改按键(如B),即使代码定义的仍然是【如H】,也会自动识别为玩家修改的【B】键。**
 > >
-> ==(出于安全考虑,此类敏感方法仅限本地客户端使用,由主机下载的脚本无法使用)==+> ==(出于安全考虑,此类敏感方法无法修改引擎内置按键,且仅限本地客户端使用,由主机下载的脚本无法使用)==
  
 ```javascript ```javascript
行 533: 行 557:
  
 > 取消绑定一个**模组公开按键**,对其按键监听不再生效。 > 取消绑定一个**模组公开按键**,对其按键监听不再生效。
 +
 +> (出于安全考虑,此类敏感方法无法修改引擎内置按键,且仅限本地客户端使用,由主机下载的脚本无法使用)
  
 ```javascript ```javascript
行 542: 行 568:
 ### UnbindAllNativeKey() ### UnbindAllNativeKey()
  
-> 取消绑定所有**模组公开按键**,对其按键监听不再生效。+> 取消绑定所有**模组公开按键**,对其按键监听不再生效()
  
 ```javascript ```javascript
行 556: 行 582:
 > 如果是在公开状态下,默认因为没有翻译,会显示为一串翻译代码路径,可照葫芦画瓢**修改翻译文件**以正确显示文本。 > 如果是在公开状态下,默认因为没有翻译,会显示为一串翻译代码路径,可照葫芦画瓢**修改翻译文件**以正确显示文本。
 > >
-> ==(出于安全考虑,此类敏感方法仅限本地客户端使用,由主机下载的脚本无法使用)==+> ==(出于安全考虑,此类敏感方法无法修改引擎内置选项,且仅限本地客户端使用,由主机下载的脚本无法使用)==
  
 ```javascript ```javascript
行 656: 行 682:
 function ExistSaveData( slot: int = 0 ): bool function ExistSaveData( slot: int = 0 ): bool
 ``` ```
 +
 +
 +
 +
 +
 +
 +
 +
  
  
 </markdown> </markdown>
scripting/client/main.1699862801.txt.gz · 最后更改: 2023/11/13 16:06 由 bibiboxs