日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
J2ME手機游戲引擎程序架構

本文向大家簡單介紹一下J2ME手機游戲引擎程序架構,在游戲開發(fā)以及任何軟件的設計都需要建立一個穩(wěn)定的引擎結構體,來作為軟件設計的基本架構,是軟件體系結構的核心支撐框架。

創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都網(wǎng)站設計、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的垣曲網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!

J2ME手機游戲引擎程序架構

在游戲開發(fā)以及任何軟件的設計都需要建立一個穩(wěn)定的引擎結構體,來作為軟件設計的基本架構,是軟件體系結構的核心支撐框架,一切功能的實現(xiàn)以及擴展都在這個基礎架構之上來完成。一個游戲的設計涉及到游戲控制、角色、游戲場景、道具、游戲聲效以及游戲過程事件監(jiān)聽機制等元素,因此建立良好的游戲引擎能對以上各元素進行有效的控制。本文介紹在J2ME游戲設計中游戲引擎的基本程序架構。

游戲引擎可以建立不同的結構體來實現(xiàn),但是任何游戲的設計都離不開通過設計一個主循環(huán)loop來重復控制整個游戲過程,當然整個游戲的核心結構(背景幻化控制、精靈坐標變化、動作幀畫面變化等)都包含在該循環(huán)中。在J2ME游戲設計中,程序架構一般需要建立兩個核心類,即是MIDlet跟Displayable兩類。

1、其中MIDlet是J2ME的主類,任何程序主類都需要繼承MIDlet來控制整個游戲的生命周期,需要覆蓋MIDlet中的三個周期方法startApp、pauseApp跟destoryApp,分別為執(zhí)行開始、暫停、結束等動作的操作體。

 
 
 
  1. public class Game Testextends MIDlet
  2. implements CommandListener{  
  3. /**  
  4. *游戲引擎介紹  
  5. */  
  6. privateCommandexitCommand;  
  7. privateGameCanvasTestgameCanvas;  
  8. publicGameTest(){  
  9. exitCommand=newCommand("exit?,command.exit,1);  
  10. GameCanvasTestgameCanvas=newGameCanvasTest(this);  
  11. sfcan.addCommand(exitCommand);  
  12. sfcan.setCommandListener(this);  
  13. Display.getDisplay(this).setCurrent(gameCanvas);  
  14. //TODO自動生成構造函數(shù)存根  
  15. }  
  16. protectedvoidstartApp()  
  17. throwsMIDletStateChangeException{  
  18. //TODO自動生成方法存根  
  19. //gameCanvas.thread.start();  
  20. }  
  21. protectedvoidpauseApp(){  
  22. //TODO自動生成方法存根  
  23. try{  
  24. gameCanvas.thread.wait();  
  25. }catch(Exceptione){}  
  26. }  
  27. protectedvoiddestroyApp(booleanarg0)  
  28. throwsMIDletStateChangeException{  
  29. //TODO自動生成方法存根  
  30. gameCanvas=null;  
  31. }  
  32. publicvoidcommandAction(Commandc,Displayabled){  
  33. if(c==exitCommand){  
  34. notifyDestroyed();  
  35. }  
  36. }  
  37. //實現(xiàn)游戲過程界面跟不同操作變化的調(diào)度  
  38. publicvoidchangeTale(inttaleIndex)  
  39. {  
  40. 具體代碼實現(xiàn).......  
  41. Display.getDisplay(this).setCurrent(....);  
  42. }  
  43. }  

GameTest類繼承了MIDlet類,實現(xiàn)游戲生命周期的控制,而且也僅僅對游戲生命周期的控制跟游戲過程中的UI調(diào)度工作,而把具體的游戲核心模塊放到GameCanvasTest類中去實現(xiàn)。#p#

2、Displayable是游戲的顯示效果核心,在J2ME游戲設計中使用GameCanvas類完成游戲畫布工作,設計類繼承GameCanvas來實現(xiàn)游戲核心模塊,通常將游戲主循環(huán)放置于該類中實現(xiàn)整個游戲的控制,因此在繼承GameCanvas的同時還需要實現(xiàn)循環(huán)Runnable接口。

 
 
 
  1. public class Game Canvas Test extends Game   
  2. Canvas implements Runnable{  
  3. //聲明變量.......  
  4. publicGameCanvasTest(MIDletmidlet)  
  5. {  
  6. super(true);  
  7. //初始化變量.......  
  8. }  
  9. publicvoidrun(){  
  10. keyPressed(getKeyStates());  
  11. spritePixel();  
  12. drawCanvas();  
  13. //其他方法以及處理.......  
  14. }  
  15. protectedvoidkeyPressed(intkeyCode){  
  16. //按鍵處理.......  
  17. }  
  18. publicvoidspritePixel(){  
  19. //精靈以及地圖坐標變幻控制......  
  20. }  
  21. publicvoiddrawCanvas(){  
  22. //根據(jù)坐標變化重繪畫面處理........  
  23. }  
  24. }  

GameCanvasTest類中完成了游戲主干部分,包括鍵盤按鍵事件處理、坐標變化、畫面重繪,當然游戲精靈跟地圖背景也在該類中定義,并使用LayerManager進行管理。

以上是一般的游戲架構,當然,在較復雜的游戲設計里面,使用以上架構將會較麻煩,使得程序不清晰。因此在程序設計中可以采用MVC模式來構建游戲引擎,將各部分抽象出來不同的層(分別為UI顯示、線程控制以及輸入監(jiān)控等調(diào)度、精靈等游戲具體模型)去完成各自的功能,從而提高軟件的可讀性跟可維護性。


網(wǎng)站題目:J2ME手機游戲引擎程序架構
文章鏈接:http://www.5511xx.com/article/cccephg.html