这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
scripting:client:main [2023/11/21 02:50] – bibiboxs | scripting: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:// | ||
+ | |||
+ | 此事件会以`FixedUpdate`的方式每隔固定时间调用,通常情况下可以忽略使用此事件。 | ||
+ | |||
+ | ``` | ||
+ | fixedDeltaTime:float // | ||
``` | ``` | ||
行 293: | 行 307: | ||
### SetChatEnabled() | ### SetChatEnabled() | ||
- | > 设置是否允许开启游戏聊天窗口,默认为`true`,否则将无法通过正常方式打开聊天框(但可正常收到消息)。 | + | > 设置游戏聊天框开关。 |
> | > | ||
> *此功能可用作主菜单界面,此时通常不希望玩家使用“聊天”功能。* | > *此功能可用作主菜单界面,此时通常不希望玩家使用“聊天”功能。* | ||
行 303: | 行 317: | ||
- | ### | + | ### GetChatEnabled() |
+ | |||
+ | > 获取游戏聊天框开关。 | ||
+ | |||
+ | ```javascript | ||
+ | function GetChatEnabled(): | ||
+ | ``` | ||
+ | |||
+ | |||
+ | |||
+ | ### SetChatPanelPivot() | ||
+ | |||
+ | > 设置游戏聊天框锚点位置(强制),默认值为`-1`(遵循游戏默认设置),通过此方法设定位置后,即使玩家在游戏选项设置了锚点位置,也会优先使用当前方法所设置的位置。 | ||
+ | > | ||
+ | > *此功能适用于部分U丰富的模组,可能不希望聊天框占用模组UI位置(例如血条、状态条、信息面板等),可以使用此方法强制设定聊天框位置。* | ||
+ | |||
+ | ```javascript | ||
+ | function SetChatPanelPivot( pivot: int = -1 ) | ||
+ | ``` | ||
+ | ```javascript | ||
+ | SetChatPanelPivot(-1); | ||
+ | SetChatPanelPivot(0); | ||
+ | SetChatPanelPivot(1); | ||
+ | SetChatPanelPivot(2); | ||
+ | ``` | ||
+ | |||
+ | |||
+ | |||
+ | ### ScreenFade() | ||
> 执行一次全屏转场(`Alpha: | > 执行一次全屏转场(`Alpha: | ||
```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:渐变时间(渐入> | time:渐变时间(渐入> | ||
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 | ||
行 382: | 行 427: | ||
- | |||
- | |||
- | |||
- | ### SetCursor() | ||
- | |||
- | > 设置当前使用的光标ID,默认为`0`,具体类型样式参考[《世界资源实例汇总》](reference/ | ||
- | > | ||
- | > 每次加载新的世界场景后,光标样式将重置到默认值。 | ||
- | |||
- | ```javascript | ||
- | function SetCursor( cursorID: int ) | ||
- | ``` | ||
- | |||
- | |||
- | |||
- | ### GetCursor() | ||
- | |||
- | > 获取当前使用的光标ID,默认为`0`。 | ||
- | |||
- | ```javascript | ||
- | function GetCursor(): | ||
- | ``` | ||
行 483: | 行 506: | ||
> **补充:此方法设置的按键应该为【默认按键】,后续如果玩家自定义修改按键(如B),即使代码定义的仍然是【如H】,也会自动识别为玩家修改的【B】键。** | > **补充:此方法设置的按键应该为【默认按键】,后续如果玩家自定义修改按键(如B),即使代码定义的仍然是【如H】,也会自动识别为玩家修改的【B】键。** | ||
> | > | ||
- | > ==(出于安全考虑,此类敏感方法仅限本地客户端使用,由主机下载的脚本无法使用)== | + | > ==(出于安全考虑,此类敏感方法无法修改引擎内置按键,且仅限本地客户端使用,由主机下载的脚本无法使用)== |
```javascript | ```javascript | ||
行 534: | 行 557: | ||
> 取消绑定一个**模组公开按键**,对其按键监听不再生效。 | > 取消绑定一个**模组公开按键**,对其按键监听不再生效。 | ||
+ | > | ||
+ | > (出于安全考虑,此类敏感方法无法修改引擎内置按键,且仅限本地客户端使用,由主机下载的脚本无法使用) | ||
```javascript | ```javascript | ||
行 543: | 行 568: | ||
### UnbindAllNativeKey() | ### UnbindAllNativeKey() | ||
- | > 取消绑定所有**模组公开按键**,对其按键监听不再生效。 | + | > 取消绑定所有**模组公开按键**,对其按键监听不再生效()。 |
```javascript | ```javascript | ||
行 557: | 行 582: | ||
> 如果是在公开状态下,默认因为没有翻译,会显示为一串翻译代码路径,可照葫芦画瓢**修改翻译文件**以正确显示文本。 | > 如果是在公开状态下,默认因为没有翻译,会显示为一串翻译代码路径,可照葫芦画瓢**修改翻译文件**以正确显示文本。 | ||
> | > | ||
- | > ==(出于安全考虑,此类敏感方法仅限本地客户端使用,由主机下载的脚本无法使用)== | + | > ==(出于安全考虑,此类敏感方法无法修改引擎内置选项,且仅限本地客户端使用,由主机下载的脚本无法使用)== |
```javascript | ```javascript | ||
行 657: | 行 682: | ||
function ExistSaveData( slot: int = 0 ): bool | function ExistSaveData( slot: int = 0 ): bool | ||
``` | ``` | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
</ | </ |