zoukankan      html  css  js  c++  java
  • 用原生javascript模拟经典FC游戏公路争霸

    #用原生javascript模拟经典FC游戏公路争霸
    
    前几天看了园子里面的随笔 [原生javascript开发仿微信打飞机小游戏](http://www.cnblogs.com/Mr-Nobody/p/3537718.html)一时兴起,自己也搞了一个小游戏,练习一下自己的js,dom及游戏编程的思维
    
    
    其中还参考了
    [另外一个汽车游戏](http://wd.jb51.net:81/200910/yuanma/car_game_js.rar)
    
    
    在此说一下过程中一些细节吧
    **油门**功能的实现是其中最大的难点,因为当你按住J键,J的keypress事件会一直持续,但再按其他键(如左右移动)时,相应的keydown事件会中断J的keypress,导致不能一直持续加油。不过在jb51中找到了一款类似游戏,DEMO后,发现能实现这个功能。
    于是下载源代码,直接全目录搜索`z`的ascii代码,很快就找到了它的解决方法:keydown的时候注册一个状态,keyup的时候改变,然后把要处理的事情都放在整个程序主体的setInterval中。这样整个问题就迎刃而解了。
    
    事后再想想,这个解决思路其实跟`node`的思路有点类似,不开多线程,而是把有的事情都放到一个队列中,CPU集中精力处理这个队列上的事情即可,回调函数执行完之后,又在队列中注册新的事件。
    
    
    经典FC游戏公路争霸原图:
    
    ![公路争霸](https://images0.cnblogs.com/blog/84053/201402/071935515502741.jpg)
    
    ![公路争霸](https://images0.cnblogs.com/blog/84053/201402/071935584536266.jpg)
    
    
    模拟游戏图:
    
    ![模拟经典FC游戏公路争霸](https://images0.cnblogs.com/i/84053/201403/022336453608672.jpg)
    
    
    [DEMO](http://p2227.github.io/demo/gameRoadFighter/?v=0.12)
    
    [CODE](https://github.com/p2227/demo/tree/gh-pages/gameRoadFighter)
    
  • 相关阅读:
    【sqli-labs】 less23 Error based
    【sqli-labs】 less22 Cookie Injection- Error Based- Double Quotes
    【sqli-labs】 less21 Cookie Injection- Error Based- complex
    【sqli-labs】 less20 POST
    【sqli-labs】 less19 POST
    【sqli-labs】 less18 POST
    【sqli-labs】 less17 POST
    【sqli-labs】 less16 POST
    【sqli-labs】 less15 POST
    nginx.conf(centos7 1.14)主配置文件修改
  • 原文地址:https://www.cnblogs.com/p2227/p/3539851.html
Copyright © 2011-2022 走看看