敌人统一管理类:
public class MyEnemyManager : MonoBehaviour
{
public GameObject mEnemy; //生产指定敌人
public Transform[] mSpawnPoints; //生产地
MyPlayerHealth _MyPlayerHealth; //用于判定是否继续生产
private float spawnTime = 3f;
private void Start()
{
//找到场景中的英雄对象
_MyPlayerHealth = GameObject.Find("MyHero").GetComponent<MyPlayerHealth>();
//重复调用,3s后,每隔3s调用一次
InvokeRepeating("SpawnEnemy", spawnTime, spawnTime);
}
//小知识:编译时未显示引用,运行时自动回调
private void SpawnEnemy()
{
if (_MyPlayerHealth.mCurrentHealth <= 0)
return;
var spawnPointIndex = Random.Range(0, mSpawnPoints.Length);
Instantiate(mEnemy, mSpawnPoints[spawnPointIndex].position, mSpawnPoints[spawnPointIndex].rotation);
}
}分数管理类:
public class MyScoreManager : MonoBehaviour
{
Text _ScoreMonitor; //显示分数UI控件
public static int mScore = 0;
private void Awake()
{
_ScoreMonitor = GetComponent<Text>();
}
private void Update()
{
_ScoreMonitor.text = "Score : " + mScore;
}
}
本文介绍了一个游戏中的敌人管理和分数更新机制。敌人管理类负责定时生成敌人并控制生成位置,同时依据玩家生命值来判断是否继续生成敌人。分数管理类则负责实时更新UI上的分数显示。
6984

被折叠的 条评论
为什么被折叠?



