meta data for this page
  •  

📚 差别

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

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
scripting:native:timer [2023/09/05 13:51] bibiboxsscripting:native:timer [2025/06/13 07:28] (当前版本) bibiboxs
行 1: 行 1:
 <markdown> <markdown>
-# Timer+Native/Timer
  
-计时器是开发阶段常用功能,可进行`等待指定时间\间隔几次`执行某段代码。+计时器是开发阶段常用功能,可进行**等待指定时间\间隔几次**执行某段代码。
  
 **计时器实例在【切换世界\地图】时将会重置(切换世界前创建的计时器,在加载新世界时将会被清空)。** **计时器实例在【切换世界\地图】时将会重置(切换世界前创建的计时器,在加载新世界时将会被清空)。**
行 50: 行 50:
  
  
-## Function+## Static Function
  
-### Timer.Create()+### Env.Timer.GetRealTime() 
 + 
 +> 获取当前时间(Timer所用的时间单位,以秒为单位,并非现实时间)。 
 +
 +> **扩展:可通过用`Timer.GetRealTime() - myTimer.LastTime `获取某个timer下次执行剩余时间。** 
 + 
 +```javascript 
 +function Env.Timer.GetRealTime(): float 
 +``` 
 + 
 + 
 + 
 +### Env.Timer.Create()
  
 > 新建一个计时器,定时\定次执行指定代码。 > 新建一个计时器,定时\定次执行指定代码。
 > >
-> 如果`repeat == 0`则表示无限重复计时器。+**如果`repeat == 0`则表示无限重复计时器。** 
 + 
 +**==特别注意:`Timer`代码可能在延迟后的不同的阶段执行,请注意执行时检查相关引用是否存在(因为有可能在此期间,某些引用已经失效,导致空指针异常)。==**
  
 ```javascript ```javascript
-function Timer.Create( action: Action, time: float, repeat: int = 1, tag: string = null ): Timer //返回Timer实例,可引用+function Env.Timer.Create( action: Action, time: float, repeat: int = 1, tag: string = null ): Timer //返回Timer实例,可引用
 ``` ```
  
 ```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);
 ``` ```
行 74: 行 88:
  
  
-### Timer.Remove()+### Env.Timer.Remove()
  
 > 关闭一个计时器,销毁实例。 > 关闭一个计时器,销毁实例。
  
 ```javascript ```javascript
-function Timer.Remove( timer: Timer ): bool+function Env.Timer.Remove( timer: Timer ): bool
 ``` ```
  
 ```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`标识查找一个计时器,返回找到满足条件的第一个计时器。
行 99: 行 113:
  
 ```javascript ```javascript
-function Timer.Find( tag: string ): Timer+function Env.Timer.Find( tag: string ): Timer
 ``` ```
  
 ```javascript ```javascript
-Timer.Create(() => {+Env.Timer.Create(() => {
     DLog("间隔一秒后,输出这段话");     DLog("间隔一秒后,输出这段话");
-}, 1).SetTag("myTimer"); //这里也可以.Tag = "myTimer",或直接在Timer.Create()末尾参数填写tag,作用相同+}, 1).SetTag("myTimer"); //这里也可以.Tag = "myTimer",或直接在`Env.Timer.Create()`末尾参数填写tag,作用相同
  
-let findTimer = Timer.Find("myTimer"); +let findTimer = Env.Timer.Find("myTimer"); 
-if(findTimer != null) Timer.Remove(myTimer);+if(findTimer != null) Env.Timer.Remove(myTimer);
 ``` ```
  
  
 +
 +## Function
  
 ### timer.SetTag() ### timer.SetTag()
行 123: 行 139:
 function timer.SetTag( tag: string ) function timer.SetTag( tag: string )
 ``` ```
 +
 +
 +
 +
 +
 +
 +
  
 </markdown> </markdown>