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

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

前言


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


效果


微信截图_20220506141404.png

非静止八神)


分别按W、S、A、D键实现不同的效果。


源码


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


<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>游戏动作控制(设计模式)</title>
  <style>
    *{
      margin: 0;
      padding: 0;
    }
    html{
      height:100%;
      background: url('images/bg.jpg') no-repeat;
      background-size:100% 100%; 
    }
    #site{
      height: 100%;
    }
    img{
      position: absolute;
      bottom: 50px;
      width: 200px;
      height: 350px;
    }
  </style>
</head>
<body>
  <div id="site">
    <img src="images/YAGAMI/stand.gif" alt="" id="MC" data-name="n1">
  </div>
</body>
<script type="text/javascript">
  var pl=document.getElementById("MC");
  var i=1;
  // 行为表
  var skill={
    "n1":{
      "d1":function(){
      console.log("前进");
      play.getImg().src="images/YAGAMI/advance.gif"
      play.getImg().style.left=i+"px"
      },
      "d2":function(){
      console.log("后退");
      play.getImg().src="images/YAGAMI/retreat.gif"
      },
      "d3":function(){
      console.log("站立");
      play.getImg().src="images/YAGAMI/stand.gif"
      },
      "d4":function(){
      console.log("暴起");
      play.getImg().src="images/YAGAMI/bq.gif"
      }
    }
  }
  //键位表
  var active={
    "68":"d1",
    "65":"d2",
    "83":"d3",
    "87":"d4"
  }
  // 操作
  function set(obj,key){
    if(!active[key])return;
    return function(){
      var name=obj.getName();
      skill[name][active[key]]();
    }
  }
  // 创建一个Play类
  function Play(pl){
    var imgNade =pl;
    var name=pl.getAttribute("data-name");
    this.getImg=function(){
      return imgNade;
    }
    this.getName=function(){
      return name;
    }
  }
  var play=new Play(pl);
  // 按下
  document.onkeydown=function(e){
    i+=10;
    var key=e.keyCode;
    var fu=set(play,key);
    if(fu){
      fu();
    }
  }
</script>
</html>


源码地址


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


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


结语


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



相关文章
|
10天前
|
JavaScript 前端开发 Python
用python执行js代码:PyExecJS库
文章讲述了如何使用PyExecJS库在Python环境中执行JavaScript代码,并提供了安装指南和示例代码。
54 1
用python执行js代码:PyExecJS库
|
6天前
|
编解码 前端开发 JavaScript
javascript检测网页缩放演示代码
javascript检测网页缩放演示代码
|
8天前
|
Web App开发 JavaScript 前端开发
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
|
9天前
|
存储 JavaScript 前端开发
webSocket+Node+Js实现在线聊天(包含所有代码)
文章介绍了如何使用WebSocket、Node.js和JavaScript实现在线聊天功能,包括完整的前端和后端代码示例。
42 0
|
10天前
|
JavaScript 前端开发 开发工具
五子棋小游戏(JS+Node+Websocket)可分房间对战
本文介绍了通过JS、Node和WebSocket实现的五子棋游戏,支持多人在线对战和观战功能。
20 1
五子棋小游戏(JS+Node+Websocket)可分房间对战
|
11天前
|
移动开发 前端开发 JavaScript
JS配合canvas实现贪吃蛇小游戏_升级_丝滑版本_支持PC端和移动端
本文介绍了一个使用JavaScript和HTML5 Canvas API实现的贪吃蛇游戏的升级版本,该版本支持PC端和移动端,提供了丝滑的转向效果,并允许玩家通过键盘或触摸屏控制蛇的移动。代码中包含了详细的注释,解释了游戏逻辑、食物生成、得分机制以及如何响应不同的输入设备。
26 1
JS配合canvas实现贪吃蛇小游戏_升级_丝滑版本_支持PC端和移动端
|
5天前
|
存储 JavaScript 前端开发
改进JavaScript代码,给水果有序赋色
改进JavaScript代码,给水果有序赋色
|
7天前
|
存储 JSON JavaScript
JavaScript帮我编写快递自动分拣的代码,区分省份市区县城乡镇
JavaScript帮我编写快递自动分拣的代码,区分省份市区县城乡镇在JavaScript中编写一个用于快递自动分拣的代码,区分省份、市区、县、城乡镇,通常意味着你需要一个数据结构来存储这些地理区域的信息,并编写逻辑来根据快递地址中的信息将其分配到正确的分类中。 这里,我将提供一个简化的示例,说明如何使用JavaScript对象和函数来实现这一功能。请注意,这个示例是高度简化的,并且假设你已经有了某种方式(如正则表达式或API调用)来从快递地址中提取省份、市区、县等信息。 ----------------------------------- ©著作权归作者所有:来自51CTO博客作者goS
|
8天前
|
JavaScript 前端开发 Python
python执行js代码
本文档详细介绍如何安装Node.js环境及PyExecJS库,并提供示例代码展示其功能。首先,通过指定链接安装Node.js,安装完毕后可在命令行中输入`node --version`来验证安装是否成功。接着,使用`pip install PyExecJS`安装PyExecJS库,该库允许Python程序执行JavaScript代码。文档还提供了多个示例代码,展示了如何在Python环境中执行和编译JavaScript代码,并可以选择特定的JavaScript运行时环境,如Node.js或JScript。最后,通过具体案例展示了PyExecJS的功能与使用方法。
16 3
|
11天前
|
移动开发 前端开发 JavaScript
JS配合canvas实现贪吃蛇小游戏
本文通过详细的代码示例介绍了如何使用JavaScript和HTML5的Canvas API实现一个贪吃蛇游戏,包括蛇的移动、食物的生成、游戏的开始与结束逻辑,以及如何响应键盘事件来控制蛇的方向。
25 1