首先,我对脚本编程很陌生,所以我的脚本中可能会出现一些缺陷。联合开机无法正常工作
所以基本上我已经写了一个加电的脚本,但是一旦我的镜头或者玩家触碰了加电硬币,火速会增加,但是5秒后它不会恢复到正常的火速......我不知道可能是什么原因,任何建议都会有帮助!
using UnityEngine;
using System.Collections;
public class FireRatePowerUp : MonoBehaviour {
private bool isPowerUp = false;
private float powerUpTime = 5.0f;
private PlayerShoot playerShoot;
private void Start()
{
playerShoot = PlayerShoot.FindObjectOfType<PlayerShoot>();
}
private void OnTriggerEnter2D(Collider2D collision)
{
if (collision.gameObject.tag == "Player" || collision.gameObject.tag == "Projectile")
{
StartCoroutine(PowerUpTime());
isPowerUp = true;
Destroy(gameObject);
if (collision.gameObject.tag == "Projectile")
{
Destroy(collision.gameObject);
}
}
}
IEnumerator PowerUpTime()
{
playerShoot.fireRate -= 0.13f;
yield return new WaitForSeconds(powerUpTime);
playerShoot.fireRate += 0.13f;
}
}
的可能的复制[不知道如何在Unity3D使用协同程序(https://stackoverflow.com/questions/40792548/do- not-know-how-to-use-coroutines-in-unity3d) – Serlite
谢谢,我知道现在的问题是什么! – Nick