内容纲要

定时生成道具
unity中有一种可以定时调用一个方法的方法

 InvokeRepeating("方法名称",几秒开始生成,之后间隔几秒生成)

道具计时器:
1unity自带的:

public float powerUpEffectSec = 4f;//道具的有效时间(秒)
public float powerUpSpawnSpeed = 4f;//道具的生成间隔(秒)
public bool isPlayerUp = false;

 private void Start()
{
    InvokeRepeating("SpawnPowerUP", 5f, powerUpSpawnSpeed);
}

void LostPowerUp()
{
    isPlayerUp = false;
}

void OnMeetPowerUp()
{
    isPlayerUp = true;
    Invok("LostPowerUp",powerUpEffectSec);
}

void OnTriggerEnter2D(Collider2D collision)
{
    if(collision .gameObject .tag == "PowerUp")
    {
        OnMeetPowerUp();
        Destroy(collision.gameObject);
    }
}

如果需要让道具时间可以不停叠加,我的想法是再添加一个计算变量,使得吃到道具时开始倒计时,
在倒计时期间可以添加时间。具体怎么做还没想好

发表评论