Unity 说没有称为 "Player" 的命名空间



我正在尝试制作一个无限级别生成器,它获取我给它的级别部分,并将它们混合在一起,使无限长成为我唯一的级别。但问题是,当我键入[SerializeField]私人播放器播放器时;它说No namespace called";玩家";这是奇怪的,因为还有其他代码的播放器被使用,它工作。也许我只是愚蠢,但无论如何,这是我的代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class LevelGenerator : MonoBehaviour {
private const float PLAYER_DISTANCE_SPAWN_LEVEL_PART = 200f;
[SerializeField] private Transform levelPart_Start;
[SerializeField] private List<Transform> levelPartList;
[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) {
SpawnLevelPart();
}
}
private void SpawnLevelPart() {
Transform chosenLevelPart = levelPartList[Random.Range(0, levelPartList.Count)];
Transform lastLevelPartTransform = SpawnLevelPart(chosenLevelPart, lastEndPosition);
lastEndPosition = lastLevelPartTransform.Find("EndPosition").position;
}
private Transform SpawnLevelPart(Transform levelPart, Vector3 spawnPosition) {
Transform levelPartTransform = Instantiate(levelPart, spawnPosition, Quaternion.identity);
return levelPartTransform;
}
}

我试图进入一个游戏对象,但后来我得到了更多的错误

没有名为"玩家";这让我觉得问题出在使用上。在代码的某些部分,它会接受它,因为您正在使用它或它在同一个命名空间中。假设它是这样调用的,请尝试添加如下使用

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Player; (it can change but should be like this)

最新更新