1. 程式人生 > >Invoke函式的妙用

Invoke函式的妙用

  • 眾所周知,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裡面的話,因為每一幀都會執行,動畫無法實現。