| 123456789101112131415161718192021222324252627282930313233343536373839404142 | using UnityEngine;public class BouncingMovement : MonoBehaviour{    // 控制物体的位移速度    public float speed = 2f; // 控制位移速度    // 控制物体的位移范围    public float range = 5f; // 物体在该轴上最大位移范围    // 控制物体的位移方向(X、Y、Z)    public bool moveX = true;    public bool moveY = false;    public bool moveZ = false;    // 内部变量,用于控制方向    private Vector3 startPos;    void Start()    {        // 记录物体的起始位置        startPos = transform.position;    }    void Update()    {        // 计算物体沿指定轴的偏移量        float offset = Mathf.Sin(Time.time * speed) * range;        // 更新物体的位置,根据轴向控制        if (moveX)        {            transform.position = new Vector3(startPos.x + offset, transform.position.y, transform.position.z);        }        else if (moveY)        {            transform.position = new Vector3(transform.position.x, startPos.y + offset, transform.position.z);        }        else if (moveZ)        {            transform.position = new Vector3(transform.position.x, transform.position.y, startPos.z + offset);        }    }}
 |