按下j键复制一个预制体通过协程移动该复制体
你可以使用以下代码来实现按下j键复制一个预制体,并通过协程移动复制体:
using System.Collections;
using UnityEngine;
public class CopyAndMovePrefab : MonoBehaviour
{
public GameObject prefab;
private void Update()
{
if (Input.GetKeyDown(KeyCode.J))
{
StartCoroutine(CopyAndMove());
}
}
private IEnumerator CopyAndMove()
{
// 复制预制体
GameObject copy = Instantiate(prefab);
// 移动复制体
while (true)
{
copy.transform.Translate(Vector3.forward * Time.deltaTime);
yield return null;
}
}
}
在上述代码中,首先需要在prefab字段中将你要复制的预制体拖拽到该字段上。然后,在Update方法中检测是否按下了j键,如果是,则启动一个协程CopyAndMove。
在CopyAndMove协程中,首先使用Instantiate方法复制预制体。然后,在一个无限循环中,通过Translate方法来移动复制体。这里使用Vector3.forward来表示向前移动,你可以根据需要修改移动的方向和速度。
请确保将该脚本挂载在一个具有Rigidbody组件的游戏对象上,以便使移动生效
原文地址: https://www.cveoy.top/t/topic/h6uD 著作权归作者所有。请勿转载和采集!