Unity3D实现二维物体的来回移动

本文分享了一个Unity游戏开发中的物体来回移动脚本,详细介绍了如何使用C#编写物体在场景中水平或竖直来回移动的代码,包括移动距离、速度及方向控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在做一个小游戏,需要写场景中物体的来回移动的脚本,在这里记录一下。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class BeltMove : MonoBehaviour
{
    //移动距离
    public float dis;
    //移动速度
    public float speed;
    //水平移动为true 竖直移动为false
    public bool flag;
    //移动方向
    float dir = 1;
    //起始位置
    float start_x;
    float start_y;

    void Start()
    {
        start_x = transform.position.x;//水平移动的起点
        start_y = transform.position.y;//竖直移动的起点
    }

    void Update()
    {
        //移动
        //竖直移动
        if (flag)
        {
            transform.Translate(Vector2.right * dir * speed * Time.deltaTime);
            if (System.Math.Abs(transform.position.x - start_x) <= 0.1f || System.Math.Abs(transform.position.x - start_x) >= dis) { dir = -dir; }
        }
        //水平移动
        else {
            transform.Translate(Vector2.up * dir * speed * Time.deltaTime);
            if (System.Math.Abs(transform.position.y - start_y) <= 0.1f || System.Math.Abs(transform.position.y - start_y) >= dis) { dir = -dir; }
        }
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值