我有一个放置了两个敌人的地形和一个我已经给出了一个脚本来连续产生敌人的飞机(基本上是没有塔的波浪防御)
我放置的两个敌人按预期工作,杀死它们会提供经验,并且与它们接触会花费玩家一些健康。
但是由我的脚本飞机产生的那些在击杀时不会提供经验,他们在接触时造成健康伤害的唯一原因是因为我设置了碰撞以寻找他们拥有的“敌人”标签。
# THE SCRIPT FOR THE ENEMY-SPAWNING PLANE
IEnumerator Spawner()
{
yield return new WaitForSeconds(startWait);
while(!stop)
{
randEnemy = Random.Range(0, 2);
Vector3 spawnPosition = new Vector3(Random.Range(-spawnValues.x, spawnValues.x), 2, Random.Range(-spawnValues.z, spawnValues.z));
Instantiate(enemies[randEnemy], spawnPosition + transform.TransformPoint(0, 0, 0), gameObject.transform.rotation);
yield return new WaitForSeconds(spawnWait);
}
}
# THE SCRIPT WHICH CALLS FOR EXPERIENCE TO BE GIVEN (Enemy as GameObject)
void Dead()
{
_characterXP.GainExp(120);
Destroy(gameObject);
}
# THE SCRIPT WHICH GIVES THE PLAYER EXPERIENCE (CharacterXP as GameObject)
public void GainExp(float expThatWasGained)
{
CurrentExp += expThatWasGained;
}
我对 Unity 和 C# 还是很陌生,所以如果还有其他需要我可以提供的东西,我已经检查了所有相关的对象以确保相关的东西连接正确,如果它们不起作用,那么它会影响最初的敌人,问题仅在于被命名为 ENEMY(Clone) 的生成的敌人
使用克隆出错
克隆的意义
克隆总是失败是怎么回事?
克隆要git密码
相关分类