Unity为物体施加力笔记

Unity为物体施加力笔记

一个小游戏的Player的一些代码

个人的理解笔记

using UnityEngine;

public class Player : MonoBehaviour
{
    public Rigidbody rb;/*获得一个物体的rigidbody组件,使其可以在这个script
    中可以使用。*/
	//定义三个方向的力的大小
    public float forwardforce = 1000f;
    public float Upforce = 1000f;
    public float slideforce = 600f;

    // Update is called once per frame
    void FixedUpdate()/*Unity喜欢调用FixedUpdate去处理有关物理计算,使用这
    个名字会更好*/
    {
    	/*给物体一个恒定的力(z轴),*Time.deltaTime是为了防止帧数不同导致的
    	加载速度不同(Update为每帧调用一次)*/
        rb.AddForce(0, 0, forwardforce * Time.deltaTime);
        
        /*检测输入按键“d”输入的话就会执行其中的代码*/
        if (Input.GetKey("d"))
        {
        /*给rb这个物体施加一个x方向的力,使用ForceMode.VelocityChange会不再
        以力的形式,而是直接给物体添加一个这个方向的速度,防止因为向量的原因导
        致的方向改变不够敏捷,同时这种模式下需要数值小一点*/
        /*把物体的rigidbody组件中的Drag(空气阻力)给拉大一点,这样物体停止
        的更快,反应更快*/
            rb.AddForce(slideforce * Time.deltaTime, 0, 0, ForceMode.VelocityChange);
        }
        if (Input.GetKey("a"))
        {
            rb.AddForce( - slideforce * Time.deltaTime, 0, 0, ForceMode.VelocityChange);
        }
    }
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值