js实现超级玛丽小游戏


Posted in Javascript onMarch 18, 2020

本文实例为大家分享了js超级玛丽小游戏的具体代码,供大家参考,具体内容如下

js实现超级玛丽小游戏

怎么用通过按键,来控制图片的位置
这个小游戏,用面向对象会很方便,不用面向对象会很麻烦很麻烦,比如以后要讲解的坦克大战的游戏,要是用纯的面向过程或函数式的方式写,那维护起来会非常的麻烦。 

游戏分析:

看看如何通过按钮来控制mario的位置

设计相关的对象(Mario x y ...)

onclick属性:当用户点击某个对象时调用的事件句柄 

素材

js实现超级玛丽小游戏

代码在目录:超级玛利亚.html

<html> 
 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
 <style>
 
  .gamediv{ 
  width: 500px; 
  height: 400px; 
  background-color: pink; 
 
 } 
  
 
 /*表格样式*/ 
 .controlcenter{ 
  width: 200px; 
  height: 200px; 
  border: 1px solid red; 
  text-align:center; 
 
 } 
 
 </style> 
 
 <head> 
 
 <script language="javascript"> 
  //设计Mario类 
  function Mario(){ 
  this.x=0; 
  this.y=0; 
  //移动 顺时针 0->上 1->右 2->下 3->左 
  this.move=function(direct){ 
   switch(direct){ 
 
   case 0: //向上 
    //window.alert("mario 右移动"); 
    //这里为了改变 img的left 和top,我们需要得到 img元素。需要用到javascript的DOM编程。img 对象 
    var mymario=document.getElementById('mymario'); 
    //取出 img 的top值 
    //window.alert(mymario.style.top); 
 
    //怎样去掉50px的px 
    var top=mymario.style.top; 
    //px占据两个,即lenght-2 
    //window.alert(top.substr(0,top.length-2)); 
 
    //现在还是串,要转成数值才能加减 
    top=parseInt(top.substr(0,top.length-2)); 
 
    //window.alert(top); 
    mymario.style.top=(top-2)+"px"; //开始移动2px,看怎么拼接的,字符串和数值之间的转换 
 
    //此时mario就可以向下移动了,把上面的打印调试输出代码都注释掉 
 
    break; 
 
   case 1: //向右 
 
    var mymario=document.getElementById('mymario'); 
    var left=mymario.style.left; 
    left=parseInt(left.substr(0,left.length-2)); 
    mymario.style.left=(left+2)+"px"; 
    break; 
 
   case 2: //向下 
 
    var mymario=document.getElementById('mymario'); 
    var top=mymario.style.top; 
    top=parseInt(top.substr(0,top.length-2)); 
    mymario.style.top=(top+2)+"px"; 
    break; 
 
   case 3: //向左 
 
    var mymario=document.getElementById('mymario'); 
    var left=mymario.style.left; 
    left=parseInt(left.substr(0,left.length-2)); 
    mymario.style.left=(left-2)+"px"; 
    break; 
 
   } 
 
  } 
 
  } 
 
 
  //创建Mario对象 
  var mario=new Mario(); 
 
 </script> 
 </head> 
 <body> 
 
 <div class="gamediv"> 
  <img id="mymario" src="person.png" style="left:100px; top:50px; position:absolute;" /> <!--用到了绝对定位--> 
  </div> 
  <table border="1px" class="controlcenter"> 
   <tr > 
   <td colspan="3" >游戏键盘</td> 
  </tr> 
  <tr> 
   <td>**</td> 
   <td><input type="button" value="向上" onclick="mario.move(0)" /></td>
   <!-- <td><input type="button" value="向上" onclick="marioMove(0)" /></td> -->
   <td>**</td> 
  </tr> 
 
  <tr>
 
   <td><input type="button" value="向左" onclick="mario.move(3)" /> </td>
   <td>**</td> 
   <td><input type="button" value="向右" onclick="mario.move(1)" /> </td> 
  </tr> 
 
  <tr> 
   <td>**</td> 
   <td><input type="button" value="向下" onclick="mario.move(2)" /> </td>
   <td>**</td> 
 
  </tr> 
 
  </table> 
 </body> 
 
</html>

js实现超级玛丽小游戏

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
IE8 下的Js错误HTML Parsing Error...
Aug 14 Javascript
JS实现的一个简单的Autocomplete自动完成例子
Apr 16 Javascript
js实现select跳转功能代码
Oct 22 Javascript
简介JavaScript中substring()方法的使用
Jun 06 Javascript
Angular.js中用ng-repeat-start实现自定义显示
Oct 18 Javascript
JS 调试中常见的报错问题解决方法
May 20 Javascript
vue2.5.2使用http请求获取静态json数据的实例代码
Feb 27 Javascript
js中document.write和document.writeln的区别
Mar 11 Javascript
Vue中android4.4不兼容问题的解决方法
Sep 04 Javascript
Vue表单绑定的实例代码(单选按钮,选择框(单选时,多选时,用 v-for 渲染的动态选项)
May 13 Javascript
解决layui富文本编辑器图片上传无法回显的问题
Sep 18 Javascript
React四级菜单的实现
Apr 08 Javascript
vue 封装 Adminlte3组件的实现
Mar 18 #Javascript
JavaScript仿京东秒杀倒计时
Mar 17 #Javascript
JavaScript写个贪吃蛇小游戏(超详细)
Mar 17 #Javascript
JS+CSS+HTML实现“代码雨”类似黑客帝国文字下落效果
Mar 17 #Javascript
js实现简单点赞操作
Mar 17 #Javascript
vue+ESLint 配置保存 自动格式化代码
Mar 17 #Javascript
HTML+JS实现“代码雨”效果源码(黑客帝国文字下落效果)
Mar 17 #Javascript
You might like
基于PHP导出Excel的小经验 完美解决乱码问题
2013/06/10 PHP
PHP页面输出时js设置input框的选中值
2016/09/30 PHP
php的PDO事务处理机制实例分析
2017/02/16 PHP
php实现产品加入购物车功能(1)
2020/07/23 PHP
关于PHP5.6+版本“No input file specified”问题的解决
2019/12/11 PHP
常用参考资料(手册)下载或者链接
2006/07/22 Javascript
再谈ie和firefox下的document.all属性
2009/10/21 Javascript
javascript+xml实现简单图片轮换(只支持IE)
2012/12/23 Javascript
jquery form 加载数据示例
2014/04/21 Javascript
js实现的二分查找算法实例
2016/01/21 Javascript
js实现带农历和八字等信息的日历特效
2016/05/16 Javascript
解析JavaScript中的字符串类型与字符编码支持
2016/06/24 Javascript
Js 利用正则表达式和replace函数获取string中所有被匹配到的文本(推荐)
2018/10/28 Javascript
用webpack4开发小程序的实现方法
2019/06/04 Javascript
ES6 Promise对象的含义和基本用法分析
2019/06/14 Javascript
js实现简单的倒计时
2021/01/28 Javascript
[01:08]2014DOTA2展望TI 剑指西雅图LGD战队专访
2014/06/30 DOTA
[03:44]2015国际邀请赛选手档案—Cloud9.NoTail
2015/07/28 DOTA
[01:00:17]DOTA2-DPC中国联赛 正赛 SAG vs Dynasty BO3 第二场 1月25日
2021/03/11 DOTA
Python入门篇之字典
2014/10/17 Python
从零开始学Python第八周:详解网络编程基础(socket)
2016/12/14 Python
Python实现判断并移除列表指定位置元素的方法
2018/04/13 Python
python调用OpenCV实现人脸识别功能
2018/05/25 Python
一行代码让 Python 的运行速度提高100倍
2018/10/08 Python
python实现websocket的客户端压力测试
2019/06/25 Python
python已协程方式处理任务实现过程
2019/12/27 Python
python3.6连接mysql数据库及增删改查操作详解
2020/02/10 Python
解决python3插入mysql时内容带有引号的问题
2020/03/02 Python
python pymysql库的常用操作
2020/10/16 Python
python 调用Google翻译接口的方法
2020/12/09 Python
会计专业应届生求职信
2013/11/24 职场文书
大学生学年个人总结
2015/02/15 职场文书
2015医院个人工作总结范文
2015/05/21 职场文书
导游词之无锡丝业博物馆
2019/11/12 职场文书
python自动计算图像数据集的RGB均值
2021/06/18 Python
MongoDB日志切割的三种方式总结
2021/09/15 MongoDB