我写了这个程序,我得到 找不到类型或命名空间"播放器",有人可以帮助我吗? 另外 [序列化字段] 不要在检查器上向我显示字段播放器以选择我想要的 obect。
我真的不明白为什么会这样。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class LeveGenerator : MonoBehaviour{
private const float PLAYER_DISTANCE_SPAWN_LEVEL_PART = 200f;
[SerializeField] private Transform levelPart_Start;
[SerializeField] private Transform levelPart_1;
[SerializeField] private Player player;
private Vector3 lastEndPosition;
private void Awake(){
lastEndPosition = levelPart_Start.Find("EndPosition").position;
int startingSpawnLevelParts = 5;
for (int i = 0; i < startingSpawnLevelParts; i++) {
SpawnLevelPart();
}
}
private void Update() {
if (Vector3.Distance(player.GetPosition(), lastEndPosition) < PLAYER_DISTANCE_SPAWN_LEVEL_PART) {
// Spawn another level part
SpawnLevelPart();
}
}
private void SpawnLevelPart(){
Transform lastLevelPartTransform = SpawnLevelPart(lastEndPosition);
lastEndPosition = lastLevelPartTransform.Find("EndPosition").position;
}
private Transform SpawnLevelPart(Vector3 spawnPosition)
{
Transform levelPartTransform = Instantiate(levelPart_1, spawnPosition, Quaternion.identity);
return levelPartTransform;
}
}
嗯,可能很少有错误。
首先 - 您发布的脚本名称中有一个错误(LeveGenerator,而不是我假设的LevelGenerator(。确保文件名也正确。
其次 - 这个特定的脚本甚至可能不是问题。您也应该发布播放器脚本。
确保 Player 脚本中没有命名空间 {},并检查类的名称是否与其文件名匹配,因为这是一个常见的错误。仅仅因为您的文件被命名为 Player.cs,并不意味着该类被命名为Player。