当前位置: 首页 > news >正文

【Unity How】Unity中如何实现物体的匀速往返移动

直接上代码

using UnityEngine;public class CubeBouncePingPong : MonoBehaviour
{[Header("移动参数")][Tooltip("移动速度")]public float moveSpeed = 2f; // 控制移动的速度[Tooltip("最大移动距离")]public float maxDistance = 5f; // 最大移动范围private Vector3 startPosition; // 初始位置private float currentOffset = 0f; // 当前偏移量private int direction = -1; // 初始方向(-1 向下,1 向上)void Start(){// 记录物体的初始位置startPosition = transform.position;}void Update(){// 更新偏移量,基于方向移动currentOffset += direction * moveSpeed * Time.deltaTime;// 到达边界时自动反向if (currentOffset <= -maxDistance){currentOffset = -maxDistance; // 保持在边界direction = 1; // 改为向上}else if (currentOffset >= 0){currentOffset = 0; // 保持在边界direction = -1; // 改为向下}// 更新物体位置transform.position = startPosition + new Vector3(0, currentOffset, 0);}void OnCollisionEnter(Collision collision){// 检测到碰撞后反转运动方向direction *= -1;// 打印碰撞信息(可选)Debug.Log($"碰撞到 {collision.gameObject.name},方向反转!");}
}
http://www.lryc.cn/news/490067.html

相关文章:

  • Block Successive Upper Bound Minimization Method(BSUM)算法
  • 力扣2388. 将表中的空值更改为前一个值
  • 【从零开始的LeetCode-算法】3233. 统计不是特殊数字的数字数量
  • Redis配置主从架构、集群架构模式 redis主从架构配置 redis主从配置 redis主从架构 redis集群配置
  • 2024 APMCM亚太数学建模C题 - 宠物行业及相关产业的发展分析和策略 完整参考论文(2)
  • HTML实现 扫雷游戏
  • day03(单片机高级)RTOS
  • 【mongodb】社区版8:改变配置bindip和授权
  • 泥石流灾害风险评估与模拟丨AI与R语言、ArcGIS、HECRAS融合,提升泥石流灾害风险预测的精度和准确性
  • 一线大厂面试集锦
  • 界面控件DevExpress Blazor UI v24.1新版亮点:发布全新文件输入等组件
  • ssm面向品牌会员的在线商城小程序
  • Vue 3 自定义插件开发
  • 使用最小花费爬楼梯(DP)
  • 【Ubuntu】如何在Ubuntu系统中查看端口是否可用
  • Hive基础面试-如何理解复用率的
  • Go 常量为什么只支持基本数据类型?
  • DatePicker 日期选择器的使用(当日、近一周、近一月...)
  • 【H2O2|全栈】JS进阶知识(六)ES6(2)
  • 聊聊主流几个JDK版本:JDK 8、JDK 11、JDK 17 和 JDK 21 的区别
  • MFC工控项目实例三十二模拟量校正值添加修改删除
  • 力扣第 60 题 “第 k 个排列”
  • 国际环境和背景下的云计算领域
  • logstash 解析数组格式json数据:split, json
  • Linux的开发工具(二)
  • Bokeh实现大规模数据可视化的最佳实践
  • Oracle表碎片整理与优化
  • 【华为云函数工作流】python的函数中如何获取请求链接中带的参数
  • 最新Kali安装详细版教程(附安装包,傻瓜式安装教程)
  • 【unity小技巧】unity最完美的CharacterController 3d角色控制器,实现移动、跳跃、下蹲、奔跑、上下坡、物理碰撞效果,复制粘贴即用