Unity——物体移动

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

public class myMove : MonoBehaviour
{
    private Rigidbody2D rb;
    private BoxCollider2D coll;
    private float ability = 1;//角色能力属性,更改其大小可以改变速度等
    public float speed = 1f;
    private bool if_Jump = true;//判断物体是否悬空,悬空则为false
    private float yposition;//记录物体上一次的y轴坐标

    void Start()
    {
        rb = GetComponent<Rigidbody2D>();
        coll = GetComponent<BoxCollider2D>();
        Vector2 position = transform.position;
        yposition = position.y;
    }

    private void FixedUpdate()
    {
        float horizintal = Input.GetAxis("Horizontal");
        float vertical = Input.GetAxis("Jump");
        Vector2 position = transform.position;
        position.x = position.x + speed * ability * horizintal;
        if (Input.GetButton("Jump") && if_Jump)
        {
            position.y = position.y + speed * ability * vertical;
            if_Jump = false;
        }
        //判断是否有空格键且是否处于悬空状态
        if (yposition == position.y)
        {
            if_Jump = true;
        }
        //判断是否落地
        yposition = position.y;
        transform.position = position;
    }

}

以上为实现角色2D平台跳跃脚本

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值