1. 程式人生 > 程式設計 >js實現超級瑪麗小遊戲

js實現超級瑪麗小遊戲

本文例項為大家分享了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實現超級瑪麗小遊戲

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。