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 相关文章推荐
js中cookie的使用详细分析
May 28 Javascript
select组合框option的捕捉实例代码
Sep 30 Javascript
获取网站跟路径的javascript代码(站点及虚拟目录)
Oct 20 Javascript
比较搞笑的js陷阱题
Feb 07 Javascript
JS获取地址栏参数的几种方法小结
Feb 28 Javascript
JS获取和修改元素样式的实例代码
Aug 06 Javascript
JS实现select选中option触发事件操作示例
Jul 13 Javascript
js实现的订阅发布者模式简单示例
Mar 14 Javascript
JS获取当前时间戳方法解析
Aug 29 Javascript
vue单应用在ios系统中实现微信分享功能操作
Sep 07 Javascript
基于ant design日期控件使用_仅月份的操作
Oct 27 Javascript
使用Cargo工具高效创建Rust项目
Aug 14 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中for循环语句的几种变型
2007/03/16 PHP
php 生成唯一id的几种解决方法
2013/03/08 PHP
浅谈PHP实现大流量下抢购方案
2017/12/15 PHP
JavaScript高级程序设计(第3版)学习笔记13 ECMAScript5新特性
2012/10/11 Javascript
php is_numberic函数造成的SQL注入漏洞
2014/03/10 Javascript
使用AngularJS处理单选框和复选框的简单方法
2015/06/19 Javascript
解析浏览器端的AJAX缓存机制
2016/06/21 Javascript
js移动焦点到最后位置的简单方法
2016/11/25 Javascript
JavaScript基于DOM操作实现简单的数学运算功能示例
2017/01/16 Javascript
javascript浏览器用户代理检测脚本实现方法
2017/10/27 Javascript
Bootstrap Paginator+PageHelper实现分页效果
2018/12/29 Javascript
Jquery获取radio选中值实例总结
2019/01/17 jQuery
angularjs实现table表格td单元格单击变输入框/可编辑状态示例
2019/02/21 Javascript
Vue实现类似Spring官网图片滑动效果方法
2019/03/01 Javascript
vue指令之表单控件绑定v-model v-model与v-bind结合使用
2019/04/17 Javascript
vue+elementUI实现表单和图片上传及验证功能示例
2019/05/14 Javascript
js实现列表向上无限滚动
2020/01/13 Javascript
Vue实现图片轮播组件思路及实例解析
2020/05/11 Javascript
Python multiprocessing.Manager介绍和实例(进程间共享数据)
2014/11/21 Python
Python遍历pandas数据方法总结
2018/02/09 Python
PyQt5每天必学之关闭窗口
2018/04/19 Python
python验证码识别教程之利用投影法、连通域法分割图片
2018/06/04 Python
解决Python logging模块无法正常输出日志的问题
2020/02/21 Python
Python rabbitMQ如何实现生产消费者模式
2020/08/24 Python
python 实现简单的计算器(gui界面)
2020/11/11 Python
python xlsxwriter模块的使用
2020/12/24 Python
python中scipy.stats产生随机数实例讲解
2021/02/19 Python
美的官方商城:Midea
2016/09/14 全球购物
日本订房网站,预订日本星级酒店/温泉旅馆:Relux(支持中文)
2020/01/03 全球购物
Java面试题:请说出如下代码的输出结果
2013/04/22 面试题
高中学生干部学习的自我评价
2014/02/21 职场文书
三好学生演讲稿范文
2014/04/26 职场文书
2014七年级班主任工作总结
2014/12/05 职场文书
Python编程根据字典列表相同键的值进行合并
2021/10/05 Python
我去timi了,一起去timi是什么意思?
2022/04/13 杂记
使用scrapy实现增量式爬取方式
2022/06/21 Python