用户输入 - “跳转” - 在我的HTML5画布游戏中

时间:2015-09-07 15:15:51

标签: javascript html5 canvas

我正在尝试创建一个基本的html5画布游戏世界。 在继续使用框架之前,我试图在纯JavaScript中实现它。我想通过键盘输入(1)使角色跳跃。 如果有人帮我理解/实现一个侧卷轴游戏世界,或者至少有一些关于如何开始使用它的信息。

//capture user input
            $k(document).keydown(function(event)
            {   var keycode = (event.keyCode ? event.keyCode : event.which);
                if (keycode == 87) { //w
                    me.clearCanvas();
                    me.pY = me.pY - 10;
                    //Draw Player on stage
                    me.drawPlayer(me.pX,me.pY,68);
                }
                /* if (keycode == 83) { //s
                    me.clearCanvas();
                    me.pY = me.pY + 10;
                    //Draw Player on stage
                    me.drawPlayer(me.pX,me.pY,68);
                }  */
                if (keycode == 65) { //a
                    me.clearCanvas();
                    me.pX = me.pX - 10;
                    //Draw Player on stage
                    me.drawPlayer(me.pX,me.pY,65);
                }
                if (keycode == 68) { //d
                    me.clearCanvas();
                    me.pX = me.pX + 10;
                    //Draw Player on stage
                    me.drawPlayer(me.pX,me.pY,68);
                }       
            }); 

请查看我的小提琴:http://jsfiddle.net/GAIsaaks/kbez4crk/1/

提前致谢

1 个答案:

答案 0 :(得分:0)

通常,您只会在输入时记录输入并使用更新循环来触发操作。 即: 按下向上箭头你设置了character.isJumping = true; 在更新循环中,您可以检查用户是否正在尝试跳转。如果角色在地面上你开始跳跃,如果没有你重置旗帜(或者可能触发双跳)。 在每次更新中根据您的跳跃功能设置高度(上半部分上升,下半部分再次下降)。 如果角色接触平台/地面,则清除跳跃状态。如果角色接触到屏幕的底部,它可能会死亡。