美文网首页
如何构架一个游戏?

如何构架一个游戏?

作者: 乔一丁_2020强化班 | 来源:发表于2021-05-09 14:26 被阅读0次

    开始

    首先是游戏循环,在一个死循环里运行游戏的逻辑是游戏常用的架构(通常来说这个循环时从游戏开始运行到游戏结束的)。好处是可以很好的处理暂停,而且便于将各个不同部分的游戏逻辑整合在一起。如果每个逻辑使用一个独立的线程来运行,一是需要对线程进行调度,比较复杂;二是多线程需要的资源更多,不利于游戏的性能。
    之后我们可以划分游戏的逻辑,比如渲染
    渲染的意思就是将内存中的画面展现到屏幕中来,我们可以给每个游戏元素(包括玩家,敌人,障碍物,甚至是地板装饰等)创建一个对象来保存其位置等参数,渲染时就会根据其参数来渲染,我们只需把重心放在游戏性的逻辑上,即如何改变对象的参数即可。
    然后就是游戏性逻辑部分,这个部分是游戏的核心,游戏如何调度就是依靠的这个部分。
    例如角色的移动,我们可以创建一个对象,来保存角色的移动状态,其中包括 u,d,l,f 四个布尔变量,表示角色的移动。需要注意判断在两个相对的方向上(左右和上下)同时按下时,相当于两者都没按下。
    判断完移动方向后,再根据速度不断的改变角色的位置参数即可(这个地方有个细节就是如果是朝着斜方向走,xy轴上的分速度应该是根号2,如果没有学过物理中矢量的合并和分解的话,可以去看看)
    游戏的循环的模板(Java)

    boolean gameover = false;
    boolean paused = false;
    while(){
      if(gameover) break;
      if(!paused){
        logic();//根据状态更改各个参数,碰撞检测
        render();//根据参数渲染画面到界面
      }
      //休眠,防止跑满CPU,因为大可不必
      try{Thread.sleep(10)}catch(Exception e){/*一个必要的异常处理,但是一般不会写什么内容*/}
      
    }
    

    相关文章

      网友评论

          本文标题:如何构架一个游戏?

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