美文网首页
从零开始的RPG制作(3.1跳跃-落地)

从零开始的RPG制作(3.1跳跃-落地)

作者: 小蜻蜓队长 | 来源:发表于2019-04-26 17:46 被阅读0次

    作为一个RPG游戏,跳跃这种基础要素当然是要有的。那如何起跳呢。
    我们现在的控制角色的模式是这样的。

        public void playerMove() {
            //**//
            //player.position += moveDirection ;
            //rig.velocity = Vector3.zero;
            //**//
    
                rig.velocity = new Vector3(moveDirection.x, moveDirection.y+ rig.velocity.y, moveDirection.z);
                moveDirection = Vector3.zero;
        }
    

    也就是说我们只需要给予一个moveDirection.y上的冲量就可以了。
    黑喂狗,开始,我们这里用按空格键表示跳跃。

    我们在PlayerTestView内加入这样几行码子

      float jumpPower  = 3.5f
        public void startJump(bool jump) {
            if (jump)
                moveDirection.y += jumpPower;
        }
    

    然后我们在PlayerTestMediator的playerAction中添加这样一行。

       void keyController() {
           float targetup = (Input.GetKey("w") ? 1 : 0) - (Input.GetKey("s") ? 1 : 0);
           float targetright = (Input.GetKey("d") ? 1 : 0) - (Input.GetKey("a") ? 1 : 0);
           up = Mathf.Lerp(up, targetup,0.6f);
           right = Mathf.Lerp(right, targetright, 0.6f);
    
           if (Input.GetKeyDown(KeyCode.LeftShift)) {
               run = !run;
           }
           jump = Input.GetKey(KeyCode.Space);
       }
    
       void playerAction() {//加入update跟新列表
           playerView.animaBlendAction(right, up, run);//设置偏移
           playerView.startJump(jump);//设置跳跃-------新加入
           playerView.playerMove();//角色接受冲量
       }
    

    做完这些,我们来看看效果。


    效果

    上一节

    下一节

    相关文章

      网友评论

          本文标题:从零开始的RPG制作(3.1跳跃-落地)

          本文链接:https://www.haomeiwen.com/subject/kjsqnqtx.html