【发布时间】:2021-04-10 17:17:53
【问题描述】:
好的,所以我创建了一个包含角色选择的无尽奔跑游戏。目标是,当场景开始时(层次结构中没有玩家),游戏管理器将根据所选玩家实例化玩家。但是,CameraController 出现错误“对象引用未设置为对象的实例”,它找不到实例化播放器对象
这是我实例化播放器的方式:
void Start()
{
int selectedCharacter = PlayerPrefs.GetInt("selectedChar");
GameObject prefab = characterPrefabs[selectedCharacter];
GameObject clone = Instantiate(prefab, playerStartPoint, Quaternion.identity);
player = FindObjectOfType<PlayerScript>();
platformStartPoint = platformGenerator.position;
scoreManager = FindObjectOfType<ScoreManager>();
Reset();
}
这是我的相机脚本:
public class CameraController : MonoBehaviour{
public PlayerScript player;
private Vector3 lastPlayerPosition;
private float distToMove;
// Start is called before the first frame update
void Start()
{
player = FindObjectOfType<PlayerScript>();
lastPlayerPosition = player.transform.position;
}
// Update is called once per frame
void Update()
{
distToMove = player.transform.position.x - lastPlayerPosition.x;
transform.position = new Vector3(transform.position.x + distToMove, transform.position.y, transform.position.z);
lastPlayerPosition = player.transform.position;
}
}
相机应该随着角色移动,你知道如何解决这个问题吗?谢谢
【问题讨论】: