J2ME手機(jī)應(yīng)用開發(fā)技術(shù)-5PPT課件_第1頁
J2ME手機(jī)應(yīng)用開發(fā)技術(shù)-5PPT課件_第2頁
J2ME手機(jī)應(yīng)用開發(fā)技術(shù)-5PPT課件_第3頁
J2ME手機(jī)應(yīng)用開發(fā)技術(shù)-5PPT課件_第4頁
J2ME手機(jī)應(yīng)用開發(fā)技術(shù)-5PPT課件_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、中國最大、最專業(yè)的3G移動互聯(lián)網(wǎng)人才培養(yǎng)基地中國最大、最專業(yè)的3G移動互聯(lián)網(wǎng)人才培養(yǎng)基地介紹了手機(jī)中的RMS系統(tǒng)的使用方法和功能 記錄倉儲 記錄 記錄的數(shù)據(jù)格式 記錄倉儲的打開,關(guān)閉,刪除 記錄的添加,修改和刪除介紹了手機(jī)中音樂的播放方法 Player狀態(tài) 音量控制 播放次數(shù)中國最大、最專業(yè)的3G移動互聯(lián)網(wǎng)人才培養(yǎng)基地掌握MIDP2.0下的游戲開發(fā)包的結(jié)構(gòu)掌握游戲中的圖層技術(shù)掌握游戲開發(fā)包中各類的實(shí)際用途及使用方法中國最大、最專業(yè)的3G移動互聯(lián)網(wǎng)人才培養(yǎng)基地MIDP 2.0相對于1.0來說,最大的變化就是新添加了用于支持游戲的API它們被放在javax.microedition.lcdui.g

2、ame使用游戲開發(fā)包進(jìn)行游戲開發(fā)的基本思想是: 游戲的界面由圖層組成 背景可以在一個(gè)圖層上,而游戲精靈可以在另一個(gè)圖層上,每個(gè)圖層都可以得到有效的控制。中國最大、最專業(yè)的3G移動互聯(lián)網(wǎng)人才培養(yǎng)基地提供了專門針對游戲的功能 每個(gè)GameCanvas實(shí)例都會有一個(gè)為之創(chuàng)建的專用的緩沖區(qū) 可以直接得到設(shè)備鍵盤的物理狀態(tài) public class MyGameCanvas extends GameCanvas public MyGameCanvas() /調(diào)用父類的構(gòu)造函數(shù)調(diào)用父類的構(gòu)造函數(shù) Super(true); /代碼演示代碼演示是否抑制鍵盤事件是否抑制鍵盤事件中國最大、最專業(yè)的3G移動互聯(lián)網(wǎng)人

3、才培養(yǎng)基地要?jiǎng)?chuàng)建一個(gè)新的GameCanvas實(shí)例,只能通過繼承并調(diào)用父類的構(gòu)造函數(shù):protected GameCanvas(boolean suppressKeyEvents)與在Canvas上繪圖不同,它并不需要通過paint()放法來實(shí)現(xiàn)屏幕的顯示 為了在GameCanvas上繪圖,首先要獲得Graphics對象,以便獲得對屏幕的控制權(quán): protected Graphics getGraphics()調(diào)用flushGraphics() 進(jìn)行顯示中國最大、最專業(yè)的3G移動互聯(lián)網(wǎng)人才培養(yǎng)基地Graphics對象有以下屬性 繪制目標(biāo)是這個(gè)GameCanvas的緩沖區(qū); 坐標(biāo)系統(tǒng)的原點(diǎn)定位在緩

4、沖區(qū)的左上角。 在完成了繪圖操作后,使用flushGraphics()方法將后備屏幕緩沖區(qū)的內(nèi)容輸出到顯示屏上 輸出區(qū)域的大小與GameCanvas的大小相同。演示中國最大、最專業(yè)的3G移動互聯(lián)網(wǎng)人才培養(yǎng)基地通過調(diào)用getKeyStates()方法來查詢按鍵的狀態(tài) 獲取游戲的物理鍵狀態(tài)。 如果一個(gè)鍵對應(yīng)的比特位的值為1,表示該鍵當(dāng)前被按下 這種模式保證一個(gè)快速的按鍵和釋放總是能夠在游戲循環(huán)中被捕獲 因?yàn)檫@種直接獲取按鍵狀態(tài)的方法不會主動返回當(dāng)前按鍵的狀態(tài),最好的方法就是使用無限循環(huán) 中國最大、最專業(yè)的3G移動互聯(lián)網(wǎng)人才培養(yǎng)基地常用按鍵中國最大、最專業(yè)的3G移動互聯(lián)網(wǎng)人才培養(yǎng)基地演示 publi

5、c void keyEvent() int keyCode;while(true)keyCode=this.getKeyStates();/判斷按鍵判斷按鍵if(keyCode&this.UP_PRESSED)!=0) /按了上方向按了上方向else if(keyCode&this.DOWN_PRESSED)!=0) /按了下方向按了下方向 中國最大、最專業(yè)的3G移動互聯(lián)網(wǎng)人才培養(yǎng)基地GameCanvas 是將畫圖,按鍵,業(yè)務(wù)邏輯全放在run中,Canvas也可以將畫圖,按鍵,業(yè)務(wù)邏輯全放在run中游戲的三種框架中國最大、最專業(yè)的3G移動互聯(lián)網(wǎng)人才培養(yǎng)基地顧名思義就是精靈類主要

6、為了用來實(shí)現(xiàn)游戲里面的人物動畫、移動和碰撞檢測而設(shè)計(jì)的 使用Sprite可以讀取一個(gè)存儲完整動畫的大圖片,然后把這個(gè)大圖片按照動畫的每一幀分割為一個(gè)個(gè)小圖片 中國最大、最專業(yè)的3G移動互聯(lián)網(wǎng)人才培養(yǎng)基地用于繪制Sprite的原始幀由一個(gè)單獨(dú)的Image對象提供,此Image可以是可變的,也可以是不可變的 如果使用多幀,圖像將按照指定的寬度和高度被切割成一系列相同大小的幀 中國最大、最專業(yè)的3G移動互聯(lián)網(wǎng)人才培養(yǎng)基地要?jiǎng)?chuàng)建一個(gè)靜態(tài)的Sprite,可以使用它的構(gòu)造函數(shù): public Sprite(Image image)如果要?jiǎng)?chuàng)建動態(tài)的Sprite,就必須使用 public Sprite(Ima

7、ge image,int frameWidth,int frameHeight)。注意:源圖像的寬度必須是幀寬度的整數(shù)倍,高度必須是幀高度的整數(shù)倍。否則,將會拋出IllegalArgumentException異常。代碼演示中國最大、最專業(yè)的3G移動互聯(lián)網(wǎng)人才培養(yǎng)基地缺省的幀序列就是所有可用幀的順序排列 可以使用setFrameSequence(int sequence)來設(shè)置幀序列 必須在幀序列中手動切換當(dāng)前幀??梢哉{(diào)用setFrame(int), prevFrame()或者nextFrame()方法來完成 中國最大、最專業(yè)的3G移動互聯(lián)網(wǎng)人才培養(yǎng)基地看效果(SpriteTransFormM

8、idlet)并實(shí)現(xiàn)中國最大、最專業(yè)的3G移動互聯(lián)網(wǎng)人才培養(yǎng)基地要判斷兩個(gè)Sprite是否碰撞,或者與其它Layer是否碰撞,可以使用collidesWith()方法 像素級檢測 當(dāng)非透明像素重疊時(shí),碰撞才被檢測到 僅僅那些包含在Sprite的碰撞檢測區(qū)內(nèi)的像素會被檢測。不使用像素級檢測 簡單地檢查兩個(gè)Sprite的碰撞檢測區(qū)矩形是否有重合。如果對Sprite應(yīng)用了變換,會進(jìn)行相應(yīng)的處理。注意:只有兩個(gè)Sprite都可見時(shí),才能檢測碰撞。碰撞使用 中國最大、最專業(yè)的3G移動互聯(lián)網(wǎng)人才培養(yǎng)基地Layer是一個(gè)抽象類,表示游戲中的一個(gè)可視元素 每個(gè)Layer都有位置(取決于它的左上角在其容器中的位置

9、),寬度,高度和可視與否。 Layer的子類必須實(shí)現(xiàn)一個(gè)paint(Graphics)方法,使得它們能夠被繪制 中國最大、最專業(yè)的3G移動互聯(lián)網(wǎng)人才培養(yǎng)基地TiledLayer由一系列單元格組成,單元格可被一組貼圖填充 貼圖(Tiles) 貼圖用于填充TiledLayer的單元格,由一個(gè)單一的可變或不可變的Image對象提供。 圖像被切割成一系列相同大小的貼圖,貼圖大小隨Image一同指定 中國最大、最專業(yè)的3G移動互聯(lián)網(wǎng)人才培養(yǎng)基地每個(gè)貼圖都被賦予一個(gè)唯一的索引號位于圖像最左上角的貼圖被賦予索引號1(此處并不使用0)這些貼圖被視為靜態(tài)貼圖它的構(gòu)造函數(shù)如下:public TiledLayer(

10、int columns,int rows,Image image,int tileWidth,int tileHeight)中國最大、最專業(yè)的3G移動互聯(lián)網(wǎng)人才培養(yǎng)基地單元格 TiledLayer由相同大小的單元格組成 每個(gè)單元格的內(nèi)容由貼圖索引號指定 正的貼圖索引號代表靜態(tài)貼圖,負(fù)的貼圖索引號代表一個(gè)動態(tài)貼圖 索引號為0的貼圖表示該單元格為空,為空的單元格是完全透明的 setCell(int, int, int)和fillCells(int, int, int, int, int)方法改變單元格的內(nèi)容 多個(gè)單元格可以包含同一個(gè)貼圖。然而,一個(gè)單元格僅能包含一個(gè)貼圖 中國最大、最專業(yè)的3G移動

11、互聯(lián)網(wǎng)人才培養(yǎng)基地可以手動調(diào)用paint()方法來繪制也可以使用LayerManager對象自動繪制它 繪圖方法將嘗試?yán)L制在Graphics對象的剪裁區(qū)域內(nèi)的整個(gè)TiledLayer 繪制區(qū)域可以通過設(shè)置Graphics對象的剪裁區(qū)域來控制 繪制演示中國最大、最專業(yè)的3G移動互聯(lián)網(wǎng)人才培養(yǎng)基地水的區(qū)域水的區(qū)域由動態(tài)貼由動態(tài)貼圖來填充圖來填充中國最大、最專業(yè)的3G移動互聯(lián)網(wǎng)人才培養(yǎng)基地 new Map eachTile 24 *24 12 4 import winmap要求圖片必須是bmp save as export as text中國最大、最專業(yè)的3G移動互聯(lián)網(wǎng)人才培養(yǎng)基地管理一系列的Lay

12、er 每個(gè)添加的Layer都將在正確的區(qū)域并以正確的順序被繪制。維護(hù)一個(gè)順序列表,以便管理如何追加、插入和刪除Layer 索引號為0的Layer最接近用戶,索引號越大的Layer離用戶越遠(yuǎn) 索引號永遠(yuǎn)是連續(xù)的,即如果一個(gè)Layer被刪除,后面的Layer的索引號都將調(diào)整,使得索引號保持連續(xù) 中國最大、最專業(yè)的3G移動互聯(lián)網(wǎng)人才培養(yǎng)基地可視窗口 控制著可視區(qū)域及其在LayerManager的坐標(biāo)系統(tǒng)中的位置 setViewWindow(int x,int y,int w,int h)中國最大、最專業(yè)的3G移動互聯(lián)網(wǎng)人才培養(yǎng)基地paint(Graphics, int, int)方法包含一個(gè)(x,y

13、)坐標(biāo),控制可視窗口在屏幕中的顯示位置append(Layer l) 向這個(gè)LayerManager添加一個(gè)Layer Layer將被添加到現(xiàn)有Layer列表的末尾。如果此Layer已存在,將在添加前首先被刪除。insert(Layer l,int index)方法與append()的區(qū)別在于可以指定Layer的索引號。remove(Layer l)中國最大、最專業(yè)的3G移動互聯(lián)網(wǎng)人才培養(yǎng)基地小穎超級工具系列的使用DJ Java Decompiler 的使用中國最大、最專業(yè)的3G移動互聯(lián)網(wǎng)人才培養(yǎng)基地代碼混淆在J2ME開發(fā)中是十分重要的一個(gè)步驟,它一般有兩個(gè)作用 使編譯后的class文件不易被反編譯 減小Jar文件的體積目前有很多混淆器,最常用的是RetroGuard和ProGuard Eclipse添加ProGuard WTK中添加ProGuard wtk/bin 中國最大、最專業(yè)的3G移動互聯(lián)網(wǎng)人才培養(yǎng)基地在Canvas中能不能用Sprite,TiledLayer?使用Canvas來實(shí)現(xiàn)地圖,碰撞檢測的功能一定要用LayerManager嗎?層是什么Sprite的翻轉(zhuǎn)在游戲中會被經(jīng)常用到1,Image.createImage(airplane, 0, 0,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論