meta data for this page
📚 差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
scripting:native:timer [2023/09/07 00:14] – bibiboxs | scripting:native:timer [2025/06/13 07:28] (当前版本) – bibiboxs | ||
---|---|---|---|
行 2: | 行 2: | ||
# Native/ | # Native/ | ||
- | 计时器是开发阶段常用功能,可进行`等待指定时间\间隔几次`执行某段代码。 | + | 计时器是开发阶段常用功能,可进行**等待指定时间\间隔几次**执行某段代码。 |
**计时器实例在【切换世界\地图】时将会重置(切换世界前创建的计时器,在加载新世界时将会被清空)。** | **计时器实例在【切换世界\地图】时将会重置(切换世界前创建的计时器,在加载新世界时将会被清空)。** | ||
行 52: | 行 52: | ||
## Static Function | ## Static Function | ||
- | ### Timer.GetRealTime() | + | ### Env.Timer.GetRealTime() |
> 获取当前时间(Timer所用的时间单位,以秒为单位,并非现实时间)。 | > 获取当前时间(Timer所用的时间单位,以秒为单位,并非现实时间)。 | ||
行 59: | 行 59: | ||
```javascript | ```javascript | ||
- | function Timer.GetRealTime(): | + | function |
``` | ``` | ||
- | ### Timer.Create() | + | ### Env.Timer.Create() |
> 新建一个计时器,定时\定次执行指定代码。 | > 新建一个计时器,定时\定次执行指定代码。 | ||
> | > | ||
- | > 如果`repeat == 0`则表示无限重复计时器。 | + | > **如果`repeat == 0`则表示无限重复计时器。** |
+ | |||
+ | **==特别注意:`Timer`代码可能在延迟后的不同的阶段执行,请注意执行时检查相关引用是否存在(因为有可能在此期间,某些引用已经失效,导致空指针异常)。==** | ||
```javascript | ```javascript | ||
- | function Timer.Create( action: Action, time: float, repeat: int = 1, tag: string = null ): Timer // | + | function |
``` | ``` | ||
```javascript | ```javascript | ||
- | Timer.Create(() => { | + | Env.Timer.Create(() => { |
- | DLog("间隔一秒后,输出这段话"); | + | DLog("Output in one second!"); |
}, 1); | }, 1); | ||
- | Timer.Create(() => { | + | Env.Timer.Create(() => { |
- | DLog("每间隔一秒,输出一次这段话,总共输出三次"); | + | DLog("Output in one second. Output three times!"); |
}, 1, 3); | }, 1, 3); | ||
``` | ``` | ||
行 86: | 行 88: | ||
- | ### Timer.Remove() | + | ### Env.Timer.Remove() |
> 关闭一个计时器,销毁实例。 | > 关闭一个计时器,销毁实例。 | ||
```javascript | ```javascript | ||
- | function Timer.Remove( timer: Timer ): bool | + | function |
``` | ``` | ||
```javascript | ```javascript | ||
- | let myTimer = Timer.Create(() => { | + | let myTimer = Env.Timer.Create(() => { |
DLog(" | DLog(" | ||
}, 1); | }, 1); | ||
- | if(myTimer != null) Timer.Remove(myTimer); | + | if(myTimer != null) Env.Timer.Remove(myTimer); |
``` | ``` | ||
- | ### Timer.Find() | + | ### Env.Timer.Find() |
> 根据`Tag`标识查找一个计时器,返回找到满足条件的第一个计时器。 | > 根据`Tag`标识查找一个计时器,返回找到满足条件的第一个计时器。 | ||
行 111: | 行 113: | ||
```javascript | ```javascript | ||
- | function Timer.Find( tag: string ): Timer | + | function |
``` | ``` | ||
```javascript | ```javascript | ||
- | Timer.Create(() => { | + | Env.Timer.Create(() => { |
DLog(" | DLog(" | ||
- | }, 1).SetTag(" | + | }, 1).SetTag(" |
- | let findTimer = Timer.Find(" | + | let findTimer = Env.Timer.Find(" |
- | if(findTimer != null) Timer.Remove(myTimer); | + | if(findTimer != null) Env.Timer.Remove(myTimer); |
``` | ``` | ||
行 137: | 行 139: | ||
function timer.SetTag( tag: string ) | function timer.SetTag( tag: string ) | ||
``` | ``` | ||
+ | |||
+ | |||
+ | |||
+ | |||