HTML5游戏滚动

时间:2014-06-29 23:13:05

标签: javascript html5 canvas scroll

所以我在这里制作一个HTML5和javascript游戏,我试图让角色走到屏幕中间,停止滚动,然后在相机碰到屏幕边缘时继续走路。 / p>

http://gifmaker.me/PlayFrameAnimation.php?folder=20140629160DoiXmJ9u4hISNMxDsnhUI 喜欢这件事。

if (world.regX > 0 && world.regX < backgroundEdge-camera.width && jerome.x > camera.width/2) {
                jerome.x = camera.width/2 };
if (world.regX > 0 && world.regX < backgroundEdge-camera.width && jerome.x < camera.width/2) { 
                jerome.x = camera.width/2 };

(世界是背景图片的容器。)

这个工作正常,只要你不在屏幕边缘附近转身,因为它只会向前跳到屏幕中间,然后从那里开始。

这个问题的答案可能非常明显,但我只是想不起它的生命,所以对不起,如果我在这里听起来很愚蠢。

任何形式的帮助都会受到赞赏,因为我已经坚持了一段时间了。

提前感谢!

1 个答案:

答案 0 :(得分:0)

使用Simon Sarris&#39; answer作为基础,我想出了this demo

我添加的内容如下:

if(offsetX >= -worldW + can.width / 2) { // Handle right edge
    if(offsetX <= 0) {                   // Handle left edge
        ctx.translate(offsetX, offsetY);
    } else {
        // Do nothing, default position
    }        
} else { 
    ctx.translate(-worldW + can.width / 2, 0);
}

基本上,这只是检查对象是否在&#34;世界宽度&#34;的屏幕的一半之内。如果它不在其中,它会移动相机&#34;通过翻译上下文。如果在此范围内,则根据未满足的要求保持设定位置。

希望它有所帮助!