003_碰撞消抖
003_碰撞消抖
通过获取刚体组件的位置消抖
public class RubyController : MonoBehaviour
{
// 将速度暴露出来,使其可调
public float speed = 4f;
//声明刚体对象
Rigidbody2D rigidbody2D;
//获取用户输入
float horizontal;
float vertical;
// 在第一次帧更新之前调用 Start
void Start()
{
//获取当前游戏对象的刚体组件
rigidbody2D = GetComponent<Rigidbody2D>();
}
// 每帧调用一次 Update
void Update()
{
/* 根据按键移动上下左右的位置:每帧移动0.1 */
//获取水平输入,按向左会获得-1.0f,按向右会获得1.0f
horizontal = Input.GetAxis("Horizontal");
//获取垂直输入按向下会获得-1.0f,按向上会获得1.0f
vertical = Input.GetAxis("Vertical");
}
//固定时间间隔执行的更新方法,0.02秒执行一次
private void FixedUpdate()
{
//获取对象当前位置
Vector2 position = rigidbody2D.position;
//更改位置,Time.deltaTime 每帧的时间间隔,float 类型
position.x = position.x + speed * horizontal * Time.deltaTime;
position.y = position.y + speed * vertical * Time.deltaTime;
//新位置给游戏对象
rigidbody2D.position = position;
}
}
Fixedupdate方法执行时间可以在Unity中设置
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!