程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> J2ME 2D小游戲入門之計時器

J2ME 2D小游戲入門之計時器

編輯:JAVA編程入門知識
六、計時器和獎懲與評價
  
  我們該加入我們的計時器了,我要從游戲開始時刻開始計時,並不斷的更新到屏幕上,在游戲結束後計時器要停止工作。
  
  首先在初始化的時候將當前時刻記錄下來:
  
   gametime=0;
  gametimeoffset=System.currentTimeMillis();
  以後只要游戲不gameover就在每個更新周期都進行一次計算:
  
   gametime=(System.currentTimeMillis()-gametimeoffset)/1000;
  //轉換為秒
  下面要做的就是將它顯示出來,還記得我們曾經實現的字體類了嗎,這下子有用了,首先是實例化一個字體類:
  
   img=ImageTools.getImage("/pic/b_number.png");
  fontbig=new Font(g,img,10,15,
  new char[]{'0','1','2','3','4','5','6','7','8','9'});
  然後就是顯示:
  
   fontbig.drawString(String.valueOf(gametime),screenwidth/2-15,10);
  還真是方便yeah!
  
  接著是獎勵系統,我們規定每過20s就加一個bomb給玩家。
  
   int awardindex=(int)gametime/20;//計算獎勵時間
  if(awardindex>bombawardtop)
  awardindex=bombawardtop;
  if(bombaward[awardindex]!=0){//假如本20s沒有獎勵
  bombnum+=bombaward[awardindex];
  bombaward[awardindex]=0;//獎勵過了
  }
  盡可能簡單和給出些提示是我寫本文的原則, 所以評價系統,很ez。
  
  我們建立一個輔助類,提供一個方法,輸入游戲時間,返回一個String評語。
  
   public class StringTools {
   protected StringTools() {
  }
  
  public static String timeOpinion(long gametime){
   if(gametime<10){
  return "Do you play with your foot?";
  //return "i can't belive,your are a game master";
   }else if(gametime<16){
  return "come boy, you can do it!";
   }else if(gametime<20){
  return "what a pity! try again.";
   }else if(gametime<25){
  return "very well, you are a real man.";
   }else if(gametime<30){
  return "i know you have talent of this game.";
   }else if(gametime<40){
  return "i can't belive, your are a game master.";
   }else{
  return "oh my god, are you a human?";
   }
  }
  
  }
  之後顯示出來就好了,我手頭沒有合適大小的字體圖片,我直接使用
  
   g.drawString(StringTools.timeOpinion(gametime),5,22,g.LEFTg.TOP);
  想在手機小小的屏幕容下那麼東西是挺費勁的,其實這也是我對手機上玩游戲沒什麼愛好,不過我對手機網絡應用沖滿了信心。
 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved