天哪!几行js代码就可以实现拳皇小游戏

开发 前端
今天,我们用原生JS实现一个拳皇人物位置控制的小效果。话不多说,我们赶紧来看下如何实现吧!

 前言

今天,我们用原生JS实现一个拳皇人物位置控制的小效果。话不多说,我们赶紧来看下如何实现吧!

效果

[[383071]]

(非静止八神)

分别按W、S、A、D键可实现位置移动,并且效果真实。

源码

html与css很简单,主要是js中有几点需要注意的。

  1. <!DOCTYPE html> 
  2. <html lang="en"
  3. <head> 
  4.  <meta charset="UTF-8"
  5.  <title>游戏动作控制(设计模式)</title> 
  6.  <style> 
  7.   *{ 
  8.    margin: 0; 
  9.    padding: 0; 
  10.   } 
  11.   html{ 
  12.    height:100%; 
  13.    background: url('images/bg.jpg'no-repeat; 
  14.    background-size:100% 100%;  
  15.   } 
  16.   #site{ 
  17.    height: 100%; 
  18.   } 
  19.   img{ 
  20.    position: absolute
  21.    bottom: 50px; 
  22.    width: 200px; 
  23.    height: 350px; 
  24.   } 
  25.  </style> 
  26. </head> 
  27. <body> 
  28.  <div id="site"
  29.   <img src="images/YAGAMI/stand.gif" alt="" id="MC" data-name="n1"
  30.  </div> 
  31. </body> 
  32. <script type="text/javascript"
  33.  var pl=document.getElementById("MC"); 
  34.  var i=1; 
  35.    
  36.  // 行为表 
  37.  var skill={ 
  38.   "n1":{ 
  39.    "d1":function(){ 
  40.    console.log("前进"); 
  41.    play.getImg().src="images/YAGAMI/advance.gif" 
  42.    play.getImg().style.left=i+"px" 
  43.    }, 
  44.    "d2":function(){ 
  45.    console.log("后退"); 
  46.    play.getImg().src="images/YAGAMI/retreat.gif" 
  47.    }, 
  48.    "d3":function(){ 
  49.    console.log("站立"); 
  50.    play.getImg().src="images/YAGAMI/stand.gif" 
  51.    }, 
  52.    "d4":function(){ 
  53.    console.log("暴起"); 
  54.    play.getImg().src="images/YAGAMI/bq.gif" 
  55.    } 
  56.  
  57.   } 
  58.  } 
  59.  //键位表 
  60.  var active={ 
  61.   "68":"d1"
  62.   "65":"d2"
  63.   "83":"d3"
  64.   "87":"d4" 
  65.  } 
  66.    
  67.   // 操作 
  68.  function set(obj,key){ 
  69.   if(!active[key])return
  70.   return function(){ 
  71.    var name=obj.getName(); 
  72.    skill[name][active[key]](); 
  73.   } 
  74.  } 
  75.    
  76.   // 创建一个Play类 
  77.  function Play(pl){ 
  78.   var imgNade =pl; 
  79.   var name=pl.getAttribute("data-name"); 
  80.   this.getImg=function(){ 
  81.    return imgNade; 
  82.   } 
  83.   this.getName=function(){ 
  84.    return name
  85.   } 
  86.  } 
  87.  var play=new Play(pl); 
  88.    
  89.   // 按下 
  90.  document.onkeydown=function(e){ 
  91.   i+=10; 
  92.   var key=e.keyCode; 
  93.   var fu=set(play,key); 
  94.   if(fu){ 
  95.    fu(); 
  96.   } 
  97.  } 
  98. </script> 
  99. </html> 

源码地址

源码如下,大家可以按照这个思路丰富下效果,实现一个完整的拳皇游戏。

https://github.com/maomincoding/game_kz.git

结语

谢谢阅读,希望没有浪费您的时间。这篇文章篇幅较短,主要是给大家实现一个小效果。

 

责任编辑:姜华 来源: 前端历劫之路
相关推荐

2020-09-26 21:41:30

进度条Python代码

2022-08-14 16:15:52

Python机器学习大数据

2022-03-01 15:26:29

漏洞网络攻击

2022-10-17 07:16:08

SQL机器学习AI

2024-01-07 16:56:59

Python人工智能神经网络

2022-08-25 21:41:43

ArkUI鸿蒙

2022-04-13 14:20:00

技术睡眠装置

2018-07-19 06:07:22

物联网安全物联网IOT

2021-02-23 12:30:21

VS CodeGithub代码

2018-11-27 09:21:41

负载均衡机器Session

2022-02-28 17:57:44

云迁移云计算

2022-02-28 22:58:04

云迁移IT开发

2017-02-13 09:33:32

2021-12-24 09:52:59

代码开发工具

2020-11-19 08:00:03

打工人离职工作

2018-12-03 08:04:25

负载均衡机器流量

2018-03-01 15:00:15

Oracle数据中心云计算

2015-07-10 11:18:19

2020-09-17 15:59:37

Java技术开发

2020-07-06 10:55:38

CIO首席信息官IT
点赞
收藏

51CTO技术栈公众号