按下j键复制一个预制体通过协程移动该复制体复制体移动方向是transform的x正方向
可以通过以下代码实现:
using UnityEngine;
using System.Collections;
public class CopyAndMovePrefab : MonoBehaviour
{
public GameObject prefab;
public float moveSpeed = 1f;
private GameObject copyPrefab;
private bool isMoving = false;
void Update()
{
if (Input.GetKeyDown(KeyCode.J))
{
// 复制预制体
copyPrefab = Instantiate(prefab, transform.position, transform.rotation) as GameObject;
// 启动协程移动复制体
StartCoroutine(MoveCopyPrefab());
}
}
IEnumerator MoveCopyPrefab()
{
isMoving = true;
while (isMoving)
{
// 在x轴方向上移动复制体
copyPrefab.transform.Translate(Vector3.right * moveSpeed * Time.deltaTime);
yield return null;
}
}
}
首先,在Unity编辑器中,将上述代码添加到一个空物体上的脚本组件中。
然后,在该脚本组件的属性面板中,将需要复制的预制体赋值给prefab变量。
在游戏运行时,按下J键即可复制预制体,并通过协程移动复制体。复制体的移动方向是通过transform组件的x轴正方向实现的,移动速度可以通过moveSpeed变量进行调整
原文地址: https://www.cveoy.top/t/topic/h6uH 著作权归作者所有。请勿转载和采集!