(二)Rigidbody2D 代码控制

private Rigidbody2D rigidbody2D;

//获取当前组件的rigidbody

rigidbody2D = GetComponent<Rigidbody2D>();

获取横向输入,并且通过给予速度移动

// float horizontalInput = Input.GetAxis("Horizontal");//-1~1,float  该方式存在加速度

        float horizontalInput = Input.GetAxisRaw("Horizontal");//-1~1  该方式立即

        rigidbody2D.velocity = new Vector2(horizontalInput * speed, rigidbody2D.velocity.y);

3种翻转方式:

1. 修改transform中的scale,使x=-1;

2. 修改transform中的rotation,使y=180;

3. sprite renderer, 修改flip 选中x, 该方式不改变当前对象的碰撞体等挂载内容;

修改scale属性的代码:

 if (horizontalInput != 0)

        {

            transform.localScale = new Vector3(horizontalInput, 1, 1);

        }

创建物理摩擦材质,设置fiction为0不会和场景中组件固定;

F2集体修改

在同一个组件下,建立子object, 用于检测触ground, gizmo可以设置icon大小

图层实例: public LayerMask groundLayer;

isGround = Physics2D.OverlapCircle(groundCheck.position, checkRadius, groundLayer);

绘制辅助点显示:

 private void OnDrawGizmos()

    {

        Gizmos.DrawWireSphere(groundCheck.position, checkRadius);

    }

可实时观察效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值