Invoke函式的妙用
阿新 • • 發佈:2018-12-13
- 眾所周知,invoke函式有兩個過載方式
- 1 Invoke(methodName, time)經過多長時間後,呼叫該方法一次
- 在實際中,切換到遊戲開始場景後,一般要等待幾秒給玩家緩衝,然後再開始執行角色,可以使用這個方法
- 2 InvokeRepeating(methodName, time, repeatTime), 經過time時間後呼叫該方法,並且每過repeatTime再重新呼叫一次
- 第二種方法一般用於遊戲中需要重複生成的物品,比如,金幣掉落,寶箱掉落,並且將數量維持在一定的範圍內。程式碼如下
int currentReward; // 當前寶箱個數 int rewadNum = 30; //遊戲中寶箱為30個 Start() { InvokeRepeating("CreateReward", 1, 3);//每三秒呼叫一次並且進行判斷 } private void CreateReward() { if(currentReward < rewardNum) { instiate..... currentReward++; } } //生成寶箱的方法 private void RewardCutDown() //當角色吃掉寶箱就呼叫該方法 update( ) { CreateReward(); }
- 總結
- invoke和協程都是和時間相關的函式,並且可以實現短暫的時間間隔,因此可以用來實現動畫,延遲等效果
- 在update裡面的話,因為每一幀都會執行,動畫無法實現。