freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于j2me的手機(jī)五子棋游戲的設(shè)計(jì)(參考版)

2024-11-11 08:40本頁面
  

【正文】 表 411 方 法 描 述 命令類型 BACK 導(dǎo)航命令,要求返回顯示前一個(gè)屏幕 CANCEL 取消當(dāng)前的屏幕對話框動(dòng)作 EXIT 離開當(dāng)前狀態(tài) HELP 要求顯示在線幫助信息 ITEM 該命 令向 MIDlet實(shí)例暗示顯示 item或 choice元素 OK 用戶用來確認(rèn)當(dāng)前動(dòng)作 SCREEN 規(guī)范另一個(gè)虛擬鍵運(yùn)行的動(dòng)作,屬于當(dāng)前屏幕 STOP 停止一些程序、操作的運(yùn)行 鹽城工學(xué)院本科生畢業(yè)設(shè)計(jì)說明書( 2020) 27 續(xù)表 411
。命令種類為規(guī)范所使用的命令意義,定義八種命令形式。動(dòng)作定義在CommandListener,并且結(jié)合顯示狀態(tài),主要提供接口與使用者交互模式。 手機(jī)鍵盤與平常設(shè)備鍵盤不同,命令的執(zhí)行主要通過 mand 類設(shè)計(jì)。接著,以一定的頻率反復(fù)執(zhí)行這一任務(wù)。下面是一個(gè)重復(fù)按鍵功能的詳細(xì)步驟:首先,建立一個(gè)需要重復(fù)執(zhí)行的任務(wù)。當(dāng)按鍵一直沒有釋放時(shí),這個(gè)功能將一直將被反復(fù)地執(zhí)行。 模擬重復(fù)按鍵:首先分析重復(fù)按鍵功能是 如何實(shí)現(xiàn)的。 hasRepeatEvents()方法通常是在 keyRepeated()方法中調(diào)用的,典型的代碼如下: protected void keyRepeated(int keyCode) { if(hasRepeatEvents()) { keyPressed(keyCode)。可以通過 MIDP的編程來模擬重復(fù)按鍵功能,雖然本次游戲設(shè)計(jì)中涉及這個(gè)內(nèi)容不是很多,在此還是闡述一下這一功能: 判斷系統(tǒng)是否支持重復(fù)按鍵:在決定使用 MIDP模擬重復(fù)按鍵前,首先應(yīng)該在程序中判斷 MDlet運(yùn)行的設(shè)備是否支持重復(fù)按鍵功能。 目前,并不是所有的電話都具有重復(fù)按鍵 功能,但是在很多情況下程序中又非常需要使用重復(fù)按鍵功能。使用這些按鍵可以確保應(yīng)用程序在任何符合 MIDP規(guī)范的移動(dòng)設(shè)備上運(yùn)行。 上述按鍵代碼包括數(shù)字 0~ 星號(hào)和#號(hào)。 在 MIDP中,每一個(gè)按鍵事件將產(chǎn)生一個(gè)按鍵代碼。 用戶按鍵設(shè)計(jì) 游戲是交互的,因此在游戲中一個(gè)重要 的內(nèi)容就是響應(yīng)用戶的按鍵操作。 ()。 在 Alert中,可以通過 setTimeout()方法來設(shè)定間隔的時(shí)間, setImage()來定義圖片, setString() 來定義內(nèi)含文字,同時(shí)通過 getType(),getImage(),getString()來取得相應(yīng)的對象。 使用 time alert時(shí),開啟一定時(shí)間,窗口自動(dòng)小時(shí);調(diào)用 Alert類的 setTimeout()方法,如果傳入 作為參數(shù),可以具備 modal Alert 對話框的特性。在有錯(cuò)誤信息 或者其它異常狀況時(shí),會(huì)提供一個(gè)警告窗口,窗口可以包含文字和圖片。 表 410 類 型 描 述 ALARM 警告用戶一個(gè)先前要求通知的消息 CONFIRMATION 提示用戶完成相關(guān)動(dòng)作或事件的確認(rèn)音效 鹽城工學(xué)院本科生畢業(yè)設(shè)計(jì)說明書( 2020) 25 續(xù)表 410 ERROR 指出有一些錯(cuò)誤發(fā)生 INFO 指出一些需要的消息 WARNING 警告用戶 一類 Alert在一定的時(shí)間內(nèi)顯示一個(gè)信息,然后自我銷毀;另一類等待用戶的確認(rèn),可以理解為有模式的 Alert。 AlertType 共有 5個(gè)類型: ALARM(警報(bào)), CONFIRMATION(確定), ERROR(錯(cuò)誤), INFO(信息提示), WARNING(警告)。 表 49 方 法 描 述 Alert(String title) 構(gòu)造一個(gè)簡單的 Alert,它會(huì)在經(jīng)過一個(gè)系統(tǒng)定義的時(shí)間后自動(dòng)消失 Alert(String title,String alertText,Image alertImage,AlertType alertType) 使用一個(gè)標(biāo)題、一個(gè)消息、一個(gè)圖像和一個(gè)類型來構(gòu)造一個(gè) Alert int getDefaultTimeout() 獲取 MID使用的默認(rèn)超時(shí)時(shí)長 Image getImage() 獲取 Alert的圖像 String getString() 獲取 Alert的字符串 AlertType getType() 獲取當(dāng)前類型 void setImage(Image img) 設(shè)置圖像 void setTimeout(int time) 設(shè)置超時(shí)時(shí)長 void setType(AlertType type) 設(shè)置類型 void setString(String str) 設(shè)置 Alert的消息 設(shè)置 Alert的類型, AlertType類提供自動(dòng)的警告方式。因?yàn)樗且粋€(gè) screen,所以接管整個(gè)屏幕。 常數(shù)名稱 說 明 EXCLUSIVE 只能選擇列表中的單個(gè)項(xiàng)目 MUTIPLE 可以選擇多項(xiàng) IMPLICIT 選擇一項(xiàng)時(shí) Command事件會(huì)執(zhí)行 基于 J2ME 的手機(jī)五子棋游戲的設(shè)計(jì)與實(shí)現(xiàn) 24 圖 410菜單選擇界面 設(shè)計(jì)中,對游戲中的部分疏忽給予提示,使用到 Alert 類。 表 47 方 法 描 述 List(String title,int listType) 用特定的標(biāo)題和 list類型來創(chuàng)建一個(gè) list List(String title,int listType,String[] stringElements,Image[] imageElements) 使用預(yù)先定義的一組選項(xiàng)和相應(yīng)的圖像來構(gòu)造一個(gè) list int append(String stringPart,Image imagePart) 添加一個(gè)元素( choice)到一個(gè)列表(也可指定一個(gè)可選的圖像) void set(int elementNum , String stringPart,Image imagePart) 直接設(shè)置一個(gè)元素的字符串和圖像 Image getImage(int elementNum) 返回與一個(gè)元素相關(guān)的圖像 String getString(int elementNum) 返回與一個(gè)元素相關(guān)的字符串 boolean isSelected(int elementNum) 返回一個(gè)布爾值,表明一個(gè)特定的選項(xiàng)是否 被選中 int getSelectedIndex() 獲取當(dāng)前被選中選項(xiàng)的索引值 List 類對象中, listType 定義的參數(shù)為 Choice 類型的三個(gè)常數(shù),如表 48 所示。命令 c在 Displayable d上被執(zhí)行時(shí)觸發(fā)了對這個(gè)方法的調(diào)用 List 可以給用戶顯示一組備選項(xiàng)的組件。 表 46 CommandListener類 方 法 描 述 void addCommand(Command cmd) 增加一個(gè)新的命令 void removeCommand(Command cmd) 刪除一個(gè)命令 void setCommandListener(Command Listener 1) 設(shè)置一個(gè) CommandListener,將 Command設(shè)置到當(dāng)前顯示,取代之前的CommandListener。 一個(gè) MIDlet中可以有多個(gè) Displayable對象,但是在特定的時(shí)間只能有一個(gè)在屏幕中,示意圖如圖 49所示。也可以是附有選擇按鈕的列表與附有復(fù)選框的列表。 Form類是能夠?qū)⒁粋€(gè)以上的圖像,文本, Item類的子類混合顯示的組件,本游戲設(shè)計(jì)中涉及使用很少。在通常情況下,報(bào)警僅僅顯示文本信息,但是實(shí)際上報(bào)警可以顯示圖像和發(fā)出聲音。 一個(gè) Alert是在屏幕上顯示的一個(gè)信息,可以用來提示用戶出現(xiàn)一個(gè)需要注意的信息。下面 的代碼展示了如何創(chuàng)建 Image對象: Image img。 Image類的 Static方法,提供了從 byte數(shù)組中提取 Image對象,以及指定與 MIDlet 相同 JAR文件內(nèi)的 PNG文件的路徑后獲取對象的功能。 PNG與 GIF格式相比,文件有時(shí)較大,但不需支付版權(quán)費(fèi)用。如圖 48所示。 Displayable 類的子類大致可以分為兩種,分別為用來進(jìn)行線與圖形,圖像的低級描繪類,與用于顯示警告與文本的輸入,選擇列表等 UI 組件類。因此,我們要使用提供了管理畫面顯示功能的 類。使用 Image 類中的 createImage 函數(shù)可從整圖中分割出所需要的元素。 PNG 格式圖片中包含許多定義其圖片特性的冗余部分(Chunks)。目前,大多數(shù)手機(jī)游鹽城工學(xué)院本科生畢業(yè)設(shè)計(jì)說明書( 2020) 21 戲均采用 PNG 作為主要的圖形資源。 支持 的手機(jī)除了標(biāo)準(zhǔn)的 PNG 格式以外,還支持 RGB 字節(jié)數(shù)組的格式。為了消除這種現(xiàn)象,游 戲都采用了緩沖技術(shù)。 游戲循環(huán)的每一幀當(dāng)中,繪圖部分占去了 80%以上的時(shí)間,減少繪圖函數(shù)的調(diào)用次數(shù)可以大幅度提高游戲運(yùn)行的速度,達(dá)到更好的效果。由于手機(jī)游戲運(yùn)行的速度及其大小通常和手機(jī)游戲中繪制的圖像和使用的圖片有很大的關(guān)系,為了手機(jī)游戲性能更好及其容量不大,對圖形資源處理的時(shí)候要遵循以下幾個(gè)原則: 移動(dòng)設(shè)備可供裝在移動(dòng)應(yīng)用的空間有限,可供應(yīng)用使用的 內(nèi)存空間也有限,游戲中往往會(huì)用到大量的圖片,減小圖片的尺寸就能直接的節(jié)省 ROM 和 RAM 的大小。這樣理解,就有了兩個(gè)緩沖區(qū),一個(gè)在屏幕上,另一個(gè)在屏幕外,可以在任何時(shí)間在上面繪圖。但 是,在游戲循環(huán)中,這么做會(huì)出現(xiàn)問題。繪制圖像通常是在 paint 方法中加入代碼。 (x * h0 + x0 h0 / 2, y * h0 + y0 h0 / 2, h0, h0)。 (x0 + h0 * i, y0, x0 + h0 * i, y0 + h0 * 15)。 i 16。 y0 = (maxH h0 * 15) / 2。} h0 = (minV 16) / 15。 使用上述方法繪制棋盤,先是求得每個(gè)單元格的高度 和棋盤左上角的坐標(biāo): if (maxW maxH) { minV = maxH。 Public void fillRect(int x,int y,int width,int height) 可以繪制起始坐標(biāo)為 x,y點(diǎn)、寬度為 width、高度為 height的已填充矩形。 本程序設(shè)計(jì)用到了 Canvas類中的基本繪圖方法: 繪制直線: Public void drawLine(int x1,int y1,int x2,int y2) 可以繪制坐標(biāo)為 (x1,y1)到 (x2,y2)的一條直線。 對于某些突發(fā)事件,比如說來電等等,屏幕會(huì)被系統(tǒng)畫面所覆蓋的時(shí)候,就會(huì)調(diào)用 hideNotify()這個(gè)方法,當(dāng)恢復(fù)原狀時(shí),就會(huì)調(diào)用原本的畫面,那么系統(tǒng)就會(huì)同時(shí)調(diào)用 showNotify()這個(gè)方法。 表 44 方 法 描 述 通用方法 int getGameAction (int keyCode) 獲取與一個(gè)鍵代碼相關(guān)的 游戲動(dòng)作 int getKeyCode (int gameAction) 獲取與一個(gè)游戲動(dòng)作相關(guān)的鍵代碼 String getKeyName (int keyCode) 獲取設(shè)備一個(gè)按鍵的名稱 int getWidth () 獲取顯示設(shè)備的寬度 int getHeight () 獲取顯示設(shè)備的高度 鹽城工學(xué)院本科生畢業(yè)設(shè)計(jì)說明書( 2020) 19 續(xù)表 44 方 法 描 述 boolean hasPointerEvents () 確定設(shè)備是否支持單擊設(shè)備的按下和釋放消息 boolean hasPointerMotionEvents () 確定設(shè)備是否支持拖動(dòng)消息 boolean isDoubleBuffered () 返回是否設(shè)備圖像是雙緩存的 事件響應(yīng)方法 abstract void paint (Graphics g) 在 Canvas需要重新被刷新時(shí)調(diào)用 void hideNotify () 在 Canvas需要被隱藏時(shí)調(diào)用 void showNotify () 在返回時(shí)被調(diào)用 void keyPressed (int keyCode) 當(dāng)一個(gè)鍵按下時(shí)被調(diào)用 void keyRepeated (int keyCode) 當(dāng) 一個(gè)鍵持續(xù)按下時(shí)被調(diào)用 void keyReleased (int keyCode) 當(dāng)一個(gè)鍵停止重復(fù)時(shí)被調(diào)用 void repaint() 要求重新繪制 Canvas void repaint(int x, int y, int width, int height) 要求重新繪制 Canvas的一部分 Canvas本身有兩種狀態(tài),一種是普通默認(rèn)情況下的,一種是全屏狀態(tài),可以用setFullScreenMode()方法來對其設(shè)定,兩者之間的區(qū)別在于當(dāng)使用全屏幕狀態(tài)的時(shí)候, Tit
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1