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正则中的RegExp对象对象
Nov 07 Javascript
学JavaScript七大注意事项【必看】
May 04 Javascript
js判断一个字符串是以某个字符串开头的简单实例
Dec 27 Javascript
Node.js websocket使用socket.io库实现实时聊天室
Feb 20 Javascript
Angular 4.x中表单Reactive Forms详解
Apr 25 Javascript
React Native仿美团下拉菜单的实例代码
Aug 08 Javascript
基于vue1和vue2获取dom元素的方法
Mar 17 Javascript
JavaScript动态加载重复绑定问题
Apr 01 Javascript
解决vue router组件状态刷新消失的问题
Aug 01 Javascript
微信小程序实现订单倒计时
Nov 01 Javascript
node.js express框架实现文件上传与下载功能实例详解
Oct 15 Javascript
用React Native制作一个简单的游戏引擎
May 27 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
mysql建立外键
2006/11/25 PHP
PHP中文汉字验证码
2007/04/08 PHP
神盾加密解密教程(二)PHP 神盾解密
2014/06/08 PHP
smarty中post用法实例
2014/11/28 PHP
php递归法读取目录及文件的方法
2015/01/30 PHP
yii2利用自带UploadedFile实现上传图片的示例
2017/02/16 PHP
Yii框架批量插入数据扩展类的简单实现方法
2017/05/23 PHP
phpStudy2016 配置多个域名期间遇到的问题小结
2017/10/19 PHP
DOM相关内容速查手册
2007/02/07 Javascript
8款非常棒的响应式jQuery 幻灯片插件推荐
2012/02/02 Javascript
利用jQuery实现可输入搜索文字的下拉框
2013/10/23 Javascript
提高jQuery性能优化的技巧
2015/08/03 Javascript
JavaScript的removeChild()函数用法详解
2015/12/27 Javascript
实例讲解jquery中mouseleave和mouseout的区别
2016/02/17 Javascript
详谈JS中实现种子随机数及作用
2016/07/19 Javascript
js带闹铃功能的倒计时代码
2016/09/29 Javascript
详解Angular2响应式表单
2017/06/14 Javascript
knockoutjs模板实现树形结构列表
2017/07/31 Javascript
详解Vue webapp项目通过HBulider打包原生APP
2018/06/29 Javascript
JavaScript实现电灯开关小案例
2020/03/30 Javascript
[01:02:53]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第二局
2016/03/06 DOTA
Google开源的Python格式化工具YAPF的安装和使用教程
2016/05/31 Python
Python实现定时任务
2017/02/08 Python
Python简单实现两个任意字符串乘积的方法示例
2018/04/12 Python
python将视频转换为全字符视频
2019/04/26 Python
keras 模型参数,模型保存,中间结果输出操作
2020/07/06 Python
计算机专业职业规划
2014/02/28 职场文书
煤矿安全承诺书
2014/05/22 职场文书
成都人事代理协议书
2014/10/25 职场文书
优秀少先队辅导员事迹材料
2014/12/24 职场文书
加班费申请报告
2015/05/15 职场文书
党小组推荐意见
2015/06/02 职场文书
担保书怎么写 ?
2019/04/22 职场文书
Python Pycharm虚拟下百度飞浆PaddleX安装报错问题及处理方法(亲测100%有效)
2021/05/24 Python
使用Ajax实现无刷新上传文件
2022/04/12 Javascript
Java Spring读取和存储详细操作
2022/08/05 Java/Android