你可以使用以下代码来实现按下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组件的游戏对象上,以便使移动生效

按下j键复制一个预制体通过协程移动该复制体

原文地址: https://www.cveoy.top/t/topic/h6uD 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录