给目标物体添加前后移动,左右旋转,向上跳跃功能

跳跃涉及到碰撞,新建地面-plane,勾选Mesh Collider下的convex,不勾Is Trigger; 新建cube,cube必须有(box collider)添加Rigidbody组件,勾选 Use Gravity,接下来就是敲击代码--

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

public class DingControler : MonoBehaviour
{
    //定义刚体变量和目标物体
    public Rigidbody 碰撞体;
    public Transform CUBE;
    //定义力的量
    public float Force;
    // Start is called before the first frame update
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {
        //按键方向操作  (使用input.getkey获取键盘映射) 前进
        if (Input.GetKey(KeyCode.W))
        {
            CUBE.Translate(Vector3.forward * 0.2f);
        }
        if (Input.GetKey(KeyCode.S))
        {
            CUBE.Translate(Vector3.back * 0.2f);
        }

        //旋转
        if (Input.GetKey(KeyCode.A))
        {
            CUBE.Rotate(Vector3.up, -5);
        }
        if (Input.GetKey(KeyCode.D))
        {
            CUBE.Rotate(Vector3.up, 5);
        }

        // 给碰撞体添加力 & 按空格键跳跃
        if (Input.GetKey(KeyCode.Space))
        {
            碰撞体.AddForce(碰撞体.transform.up * Force);
        }


    }
}

挂于目标体上,并设置力 force 的大小,比重力大,不要打太多(无所谓,自己调节改动着玩吧)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值