【发布时间】:2020-09-25 12:48:22
【问题描述】:
我要做的是向前实例化 7 个 tilemap,我的玩家不应该移动,tile 应该移动到后面。我该怎么做?
我试着给予这样的力量:go.GetComponent<Rigidbody>().AddForce(0, 0, -speed, ForceMode.Impulse);
或go.transform.position += new Vector3(0, 0, speed * Time.deltaTime); 但没有用。我想我需要尝试一些不同的实例化,但我无法弄清楚,有人可以给我一个建议吗?
我的代码:
private void Update()
{
if ((spawnZ - amnTilesOnScreen * tileLength) < playerTransform.position.z - safeZone)
{
SpawnTile();
DeleteTile();
}
}
private void SpawnTile(int prefabIndex = -1)
{
GameObject go;
if (prefabIndex == -1)
{
go = Instantiate(tilePrefabs[RandomPrefabIndex()], Vector3.forward * spawnZ,Quaternion.identity) as GameObject;
}
else
{
go = Instantiate(tilePrefabs[prefabIndex], Vector3.forward * spawnZ, Quaternion.identity) as GameObject;
}
go.transform.SetParent(transform);
go.transform.position = Vector3.forward * spawnZ;
//go.transform.position += new Vector3(0, 0, speed * Time.deltaTime);
spawnZ += tileLength;
//go.GetComponent<Rigidbody>().AddForce(0, 0, -speed, ForceMode.Impulse);
activeTiles.Add(go);
}
private void DeleteTile()
{
Destroy(activeTiles[0]);
activeTiles.RemoveAt(0);
}
【问题讨论】:
标签: unity3d game-engine