Unity 實現每隔一段時間重複執行

2021-10-24 21:34:17 字數 1048 閱讀 6813

有關unity協程的說明詳見官方manual(官方文件寫的非常詳細,也有很多協程的例子,牆裂推薦入門選手反覆咀嚼,不過有點考量英文水平,所以英語對程式設計師的重要性不用多說了)

直接上**:

// startcoroutine (func());   

//make sure use this method to call coroutines.

ienumerator

func()

}

具體用法上面注釋已經寫清楚了,上面這種寫法會顯示0s,2s,4s……,如果yield在前則會輸出2s,4s……效果如下圖(精準度受到unity幀率和秒整數不能對齊的限制

還有其他的延時重複效果,例如 if (time.time取餘) 巢狀等,個人感覺沒有協程效果好所以這裡不作推薦。

另外一種我感覺比較好的方式是利用deltatime

**如下:

private

float passedtime;

// default 0

public

float targettime;

// set time interval

//repete();

void

repete()

passedtime +

= time.deltatime;

這種方式沒有用到協程,僅僅利用執行緒中每一幀的重新整理

deltatime的用途很廣,詳細的原理建議參考這個博文

由於update的重新整理頻率受到遊戲幀率影響,fixupdate不是很穩定(具體可以參考這篇,作者寫的很詳細)所以上面這種方法是很實用的

後續方法有改進會及時更新,歡迎指正!

storm每隔一段時間傳送tuple

ticktuple可以滿足每隔一段時間傳送tuple,system component會定時往task傳送 tick stream的tuple,傳送頻率由topology tick tuple freq secs來配置,可以在default.ymal裡面配置,也可以在 裡面通過getcomponen...

最近一段時間

嗯。乙個是從那時候開始忙了一段時間,然後就沒有時間寫博,而且那段時間也緊張,還有就是人的劣根性 惰性。從那時候開始,大概過了一周5.30號的進候辭職了,因為拿到了南京一家公司的offer,很快,大概是週三面試,周五面試,周五下午發offer。然後周一去辭職的。一切都是這麼快。其實為什麼決定這麼快,因...

告別一段時間

不談過去。在這個學期,認真的做好兩個地理資訊系統。畢業 不用去管。初步的想法,是空間資料結構和演算法,空間資料探勘和知識發現,smartclient webservice和空間資訊網格三部分。第一部分,是很最重要的,也是最實在的,最具有挑戰性的,第二部分,其實就是吹牛,第三部分,也是很重要的,主要是...