达到它的宽度时更新画布场景

时间:2014-04-17 08:47:39

标签: javascript html5 canvas

这是构建游戏的一般性问题,让我们说我正在构建一个游戏,它不是在一个场景下构建,而是在多个连续场景下构建。当玩家达到画布宽度时,在这些场景之间切换的最佳方法是什么

伪代码

 var scene= 0;
function DrawScene(scene){
   if(player.width >= CanvasWidth){
       player.x= 0;
       Scene.draw(scene);
       scene++;
   }
}

function UpdateWorld(){
  DrawScene(scene);
}

这只是我如何思考它的伪代码我不知道这是如何在现实生活中制作游戏任何人都可以给我一个提示或给我一些可以描述这个的链接?谢谢

1 个答案:

答案 0 :(得分:0)

我认为在一个非常普遍的情况下处理场景切换的最佳方法是处理一些对象,让他们称之为切换器,可能有视觉或不可视(=>它是一个隐形门或没有),当英雄重叠时,它将切换场景 你很快就会想要为开关添加条件(英雄有这把钥匙,配备这种武器,......)。 只有在只有足够的时间才能实现切换。重叠,这可能意味着,超过50%的英雄的边界框在门上。

对于伪代码,可能有办法进行游戏循环,但在某些时候你必须这样做:

for each switch in switches {
   if ( overlap( hero, switch ) && switch.canSwitch(hero) ) scene = switch.scene ;
}

我做了一个非常小的演示来演示 它使用我的通用小提琴作为基础,所以这里有点乱:-): http://jsfiddle.net/gamealchemist/bC5JL/

使用箭头键,您将在两个场景之间切换'当重叠门时。