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

正文內(nèi)容

基于android的傳感器技術(shù)應(yīng)用開發(fā)畢業(yè)設(shè)計(jì)-資料下載頁(yè)

2025-06-23 22:47本頁(yè)面
  

【正文】 程可以被分解為游戲?qū)嶓w建模、游戲邏輯設(shè)計(jì)和游戲體驗(yàn)設(shè)計(jì)三個(gè)子過程。其中游戲?qū)嶓w建模又包括了游戲本體建模子過程和游戲元素建模子過程;游戲邏輯設(shè)計(jì)包括了內(nèi)部行為邏輯設(shè)計(jì)子過程和全局邏輯設(shè)計(jì)子過程;游戲體驗(yàn)設(shè)計(jì)包括用戶控制設(shè)計(jì)子過程和游戲展示設(shè)計(jì)子過程。以下對(duì)六個(gè)子過程的詳細(xì)描述如下:游戲本體建模:是分析游戲本體具有什么樣狀態(tài)與功能的過程。例如游戲可能具有開始游戲、暫停游戲、返回游戲、退出、存盤、加載存檔等狀態(tài)與功能。游戲元素建模:是分析游戲界面里顯示具有什么內(nèi)容的過程。內(nèi)部行為邏輯設(shè)計(jì):是分析游戲?qū)嶓w包括游戲本體以及游戲元素,具有什么樣的內(nèi)部行為規(guī)則的過程,例如游戲本體狀態(tài)之間的切換規(guī)則或游戲元素如主角的位置狀態(tài)、生命值的更新。全局邏輯設(shè)計(jì):分析元素之間、元素與游戲本體之間具有的外在聯(lián)系的過程。用戶控制設(shè)計(jì):是設(shè)計(jì)玩家如何參與游戲的過程。例如:通過傳感器的支持可以傾斜手機(jī)達(dá)到控制游戲主角的功能、通過拖拉屏幕操作進(jìn)行主角移動(dòng)、通過點(diǎn)擊屏幕進(jìn)行攻擊和菜單選擇。游戲展示設(shè)計(jì):是設(shè)計(jì)游戲如何展現(xiàn)到玩家面前的過程。例如:游戲的界面效果顯示、游戲的背景音效、游戲設(shè)備是否震動(dòng)等。游戲開發(fā)者在任何游戲的分析設(shè)計(jì)過程中,都需要對(duì)上述的六個(gè)過程進(jìn)行分析與設(shè)計(jì),該過程正是了不同游戲之間的共性所在,該六個(gè)過程所將產(chǎn)生的多個(gè)基本模塊組成了所有游戲的基礎(chǔ)。 游戲設(shè)計(jì)中的狀態(tài)機(jī)眾多應(yīng)用程序軟件中,都使用有限狀態(tài)機(jī)。它用來(lái)表示有限個(gè)狀態(tài)以及在這些狀態(tài)之間的轉(zhuǎn)移和動(dòng)作切換等行為的模型,是一個(gè)事件驅(qū)動(dòng)系統(tǒng)的模型。在某時(shí),有一個(gè)或多個(gè)狀態(tài)是有限狀態(tài)機(jī)的目前狀態(tài),如果要目前狀態(tài)轉(zhuǎn)變?yōu)橄乱粻顟B(tài),則需要有限狀態(tài)機(jī)接收輸入事件并根據(jù)規(guī)則來(lái)轉(zhuǎn)換。目前狀態(tài)、輸入事件和新狀態(tài)這三個(gè)元素使有限狀態(tài)機(jī)有了自己的獨(dú)特行為。Android 游戲中狀態(tài)機(jī)的實(shí)現(xiàn)方式都是通過變量來(lái)控制,在 Android 游戲主線程中只更新繪制當(dāng)前游戲狀態(tài)下的內(nèi)容,這就是 Android 游戲的游戲狀態(tài)機(jī)的原理。有了有限狀態(tài)機(jī)的機(jī)制,用戶就會(huì)在程序的不同狀態(tài)間很方便地切換。圖 36 是游戲不同狀態(tài)的切換圖:基于 Android 的傳感器技術(shù)應(yīng)用開發(fā)25圖 36 游戲不同狀態(tài)切換圖 小結(jié)本章描述的是游戲程序設(shè)計(jì)的前奏,主要說明了游戲程序開發(fā)的背景、涉及的相關(guān)技術(shù)知識(shí)儲(chǔ)備與材料的準(zhǔn)備,介紹了游戲程序的功能與玩法。最后,在本章中還簡(jiǎn)單的介紹了游戲中的各個(gè)功能模塊以及各個(gè)模塊的設(shè)計(jì)過程和它們的主要實(shí)現(xiàn)的功能。如果說本章只是游戲程序設(shè)計(jì)的前奏,那么接下來(lái)的一章,將會(huì)全面而詳盡的介紹游戲程序的設(shè)計(jì)開發(fā)過程。4 游戲源程序開發(fā)前一章是對(duì)游戲項(xiàng)目整體系統(tǒng)架構(gòu)分析、系統(tǒng)框架的簡(jiǎn)要介紹,那么在這一章節(jié)中將會(huì)是詳細(xì)進(jìn)入傳感器游戲系統(tǒng)的設(shè)計(jì)階段。本章的內(nèi)容將會(huì)詳細(xì)描述傳感器游戲的設(shè)計(jì)與源代碼開發(fā)過程。包括各種相關(guān)技術(shù)的介紹以及游戲中傳感器的使用和開發(fā)細(xì)節(jié)。從設(shè)計(jì)到算法具體實(shí)現(xiàn),到源代碼調(diào)試運(yùn)行,生成手機(jī)安裝文件(.apk),這些都將在本章中進(jìn)行重點(diǎn)闡述說明?!鞲衅饔螒蜷_發(fā)流程在游戲的開發(fā)過程中會(huì)有眾多的詳細(xì)步驟要去實(shí)現(xiàn)完成,這里簡(jiǎn)要的寫出在傳感器小游戲的開發(fā)過程中最基本的一些流程,如圖 41 所示。初始化退出菜單運(yùn)行暫停返回系統(tǒng)狀態(tài) 0 狀態(tài) 1狀態(tài) 2狀態(tài) 3狀態(tài) 4檢測(cè)相應(yīng)安卓版本是否支持硬件加速 No resource identifier found for attribute 39。hardwareAccelerated 39。in package 39。android39。改平臺(tái) API11 以上否是基于 Android 的傳感器技術(shù)應(yīng)用開發(fā)26圖 41 傳感器游戲開發(fā)流程圖 游戲開發(fā)實(shí)現(xiàn)過程的主要技術(shù)實(shí)現(xiàn) Android 靜態(tài)圖片的訪問在傳統(tǒng)的 android 開發(fā)過程中,工程中的靜態(tài)圖片文件都放在 res 資源目錄下的drawable 中。在 Android2. 1 之前的版本只有 drawable 一個(gè)文件夾,在之后的更高的版本中按照分辨率的不同,工程中分別利用三個(gè)文件夾來(lái)放置圖片,分別為:(1)drawablehdpi:存放較高分辨率圖片 WVGA (480x800)(2)drawablemdpi:存放中等分辨率圖片,如 HVGA (320x480);(3)drawableldpi:存放較低分辨率圖片,如 QVGA (240x320)。在運(yùn)行軟件的時(shí)候相應(yīng)的手機(jī)系統(tǒng)會(huì)根據(jù)機(jī)器的分辨率來(lái)分別到這幾個(gè)文件夾里面去查找相對(duì)應(yīng)的圖片,但是在開發(fā)程序時(shí)為了兼容不同平臺(tái)的不同分辨率的屏幕,應(yīng)該各自文件夾根據(jù)需求存放不同分辨率的圖片。但是在本文的 Basic4android平臺(tái)游戲開發(fā)過程并沒有按照這樣的方法去實(shí)現(xiàn)而是直接只讀取了一張相應(yīng)的圖片,具體代碼如下所示LoadBitmap (Di As String, File Name As String) As Bitmap加載位圖,由于 Android 的文件系統(tǒng)非常的敏感,如果在調(diào)用該函數(shù)過程中圖片的尺寸過大,要求按照官方提供的位圖讀取的例子來(lái)進(jìn)行更改。在本文的使用中具體的例子就是彈跳主角的圖片讀取,代碼如下:Array As Bitmap(LoadBitmap(, ))) Android 動(dòng)態(tài)圖片的訪問Basic4android 在本游戲動(dòng)態(tài)圖片的調(diào)用過程中并沒有按照一般的 Android 開發(fā)平臺(tái)一樣去創(chuàng)建一組圖片,當(dāng)達(dá)到某個(gè)觸發(fā)條件的時(shí)候在去顯示相應(yīng)的圖片,從而達(dá)到動(dòng)態(tài)圖片的顯示效果。這里只是有一張相應(yīng)的圖片調(diào)用,在觸及水平的平臺(tái)的連接通過無(wú)線局域網(wǎng)連接 B4ABridge編譯程序, 文件F5安裝程序基于 Android 的傳感器技術(shù)應(yīng)用開發(fā)27時(shí)候,觸發(fā)該圖片向上彈起一定的固定高度,再利用函數(shù)控制讓其在相應(yīng)的方向上轉(zhuǎn)動(dòng)固定的角度,達(dá)到更加逼真的動(dòng)態(tài)圖像顯示效果。實(shí)現(xiàn)該效果的程序源代碼如下: = + / 1%x讓游戲主角在彈起一定的高度的同時(shí)按照固定的方向旋轉(zhuǎn)一定的角度,達(dá)到動(dòng)態(tài)顯示的效果?!D像色彩顯示Android 編程開發(fā)中使用 4 個(gè)數(shù)字來(lái)表示顏色,分別是 alpha、紅(red)、綠(green) 、藍(lán)(blue)四個(gè)顏色值(ARGB) 。每個(gè)數(shù)字取值 0255,所以一個(gè)顏色可以用一個(gè)整數(shù)來(lái)表示。為了運(yùn)行效率,Android 編碼時(shí)用整數(shù) Color 類實(shí)例來(lái)表示顏色。有下面幾種方式來(lái)創(chuàng)建或表示一個(gè)顏色:(1)使用 color 類的常量,如 :Int color = 。表示創(chuàng)建一個(gè)藍(lán)色;(2)如果知道 ARGB 的取值,那么可以使用 color 類的靜態(tài)方法 ARGB 創(chuàng)建一個(gè)顏色,如 Int color=(127,255,0,255)。表示半透明的紫色;(3)使用 XML 資源文件來(lái)表示顏色。在本游戲程序的開發(fā)過程中用到的是第一種的圖像色彩顯示方式,在水平的平臺(tái)的色彩顯示中就是利用的該方法,具體的程序元代碼如下所示:regularBrickImage = CreateBrickImage(, )disappearBrickImage = CreateBrickImage(, Colors. Blue)前者是常規(guī)狀態(tài)顯示的平臺(tái)的色彩繪制代碼,前者采用白色純色;后者是在彈跳一次后會(huì)變短的平臺(tái)的色彩繪制代碼,采用的是純色的藍(lán)色?!∨鲎矙z測(cè)實(shí)現(xiàn)碰撞檢測(cè)技術(shù)是在傳感器以及大多數(shù)游戲開發(fā)中的至關(guān)重要的技術(shù),它是基于數(shù)學(xué)和物理方面的知識(shí)來(lái)計(jì)算和判斷的。在游戲程序開發(fā)中,邊界的檢測(cè)、游戲中角色的碰撞等都會(huì)涉及到碰撞檢測(cè),對(duì)于不同的應(yīng)用場(chǎng)景有不同的具體檢測(cè)方法。下面將常用的 2D 游戲的碰撞檢測(cè)方法做一簡(jiǎn)單的介紹。這是碰撞檢測(cè)之中最簡(jiǎn)單的方式,具體方法就是將碰撞發(fā)生的界面范圍劃成一個(gè)個(gè)格子,界面范圍中參與檢測(cè)的每一個(gè)元素對(duì)象都存在自身的坐標(biāo)數(shù)值。比如將基于 Android 的傳感器技術(shù)應(yīng)用開發(fā)28某兩個(gè)或者多個(gè)元素在相鄰格子或在同一格子作為判斷碰撞的依據(jù),就達(dá)到了碰撞檢測(cè)的最初目的。缺點(diǎn)是此方式就要求場(chǎng)景中所有可能參與碰撞的元素都要是最小單位格子或者是其整數(shù)倍。此方式用于要求不嚴(yán)格的小型平面游戲。此檢測(cè)方法適用場(chǎng)景中的物體近似為矩形或者非矩形但碰撞精度要求不高的情況下,每個(gè)物體記錄一個(gè)能夠?qū)⒆约喊趦?nèi)的最小矩形的左上角坐標(biāo),以及矩形的長(zhǎng)和寬。碰撞的判斷依據(jù)就是矩形與矩形之間是否重疊,而這僅需要 4 次比較即可得出,相比來(lái)說速度比較快。以此為基礎(chǔ),要判斷整個(gè)場(chǎng)景中的物體,必須取第一個(gè)物體,然后迭代其他所有物體進(jìn)行判斷。再取第二個(gè)物體,迭代除了第一和第二個(gè)物體之外的其他物體來(lái)進(jìn)行判斷。以此類推,要進(jìn)行(n1)!次矩形判斷才能準(zhǔn)確得出場(chǎng)景中所有的碰撞可能。與矩形檢測(cè)類似,區(qū)別在于它是用一個(gè)能夠包含物體的最小圓形。因?yàn)橛螒蛑械奈矬w外形以平滑為主,而判斷兩個(gè)圓是判斷兩個(gè)圓心之間的距離是否小于它們的半徑之和。這個(gè)判斷方法是比較簡(jiǎn)單的,和矩形檢測(cè)一樣,總計(jì)要進(jìn)行(n1)!次判斷才能得出場(chǎng)景中所有的碰撞可能。像素檢測(cè)是碰撞檢測(cè)中最為精確的方法,但是相對(duì)的它的效率也是最低的。像素檢測(cè)的比較方法是:首先需要有一個(gè)能夠包圍物體的矩形框,因?yàn)橥ㄟ^矩形檢測(cè)得到重疊的矩形區(qū)域可以大大減少檢測(cè)的像素點(diǎn)數(shù)量。然后在這個(gè)區(qū)域內(nèi),取兩個(gè)圖片的點(diǎn)逐行逐列迭代,如果遇到某個(gè)點(diǎn)兩張圖片均有顏色存在,即判為碰撞。和矩形檢測(cè)一樣,也要進(jìn)行((n1)!次比較后才會(huì)得到全場(chǎng)景的碰撞可能。這是一個(gè)基于矩形檢測(cè)、圓形檢測(cè)和像素檢測(cè)三種檢測(cè)方式的優(yōu)化檢測(cè),針對(duì)最后的(n1)!次比較。首先,也要將地圖分為格子,格子的大小應(yīng)該能夠容納 10 個(gè)左右的地圖中最大物體。同樣的,每個(gè)物體要記錄自己所在的區(qū)域坐標(biāo)以及矩形包圍框。如果該物體完全位于該區(qū)域內(nèi),則只要將其與該區(qū)域內(nèi)的其他物體判斷碰撞。如果該物體雖然位于某個(gè)區(qū),但是小部分位于隔壁區(qū),則額外的需要迭代隔壁區(qū)的物體,這樣就比迭代全場(chǎng)景物體有效的多。之所以叫四叉樹檢測(cè),是因?yàn)閰^(qū)域塊都是以四叉樹的方式鏈接的。如果得到一個(gè)區(qū)塊的對(duì)象,就可以直接得到其上下左右相鄰的區(qū)塊的對(duì)象,而物體可以是存儲(chǔ)在所在區(qū)的一個(gè)列表中。這樣就不用遍歷所有物體也可以直接取出隔壁區(qū)的物體了。當(dāng)場(chǎng)景比較大的時(shí)候,四叉樹的優(yōu)勢(shì)體現(xiàn)基于 Android 的傳感器技術(shù)應(yīng)用開發(fā)29得很好。在本游戲的碰撞檢測(cè)過程具體的實(shí)現(xiàn)原理是利用圖像在中的詳細(xì)坐標(biāo)判斷實(shí)現(xiàn)的。每一次在碰撞之前,圖標(biāo)會(huì)彈起一定的高度,在此時(shí)刻會(huì)有一個(gè) for each brick as in bricks 的判斷語(yǔ)句 in 后邊的對(duì)象是所有的該屬性的對(duì)象,在 for 循環(huán)的后邊接的是滿足該條件的所有對(duì)象的集合,這里判斷的就是離游戲的主角最近的一個(gè)平臺(tái)的屬性。CenterX 即主角中心的坐標(biāo)數(shù)值,這個(gè)函數(shù)就是在彈起的過程中函數(shù)會(huì)判斷在此坐標(biāo)值在豎直的范圍內(nèi),離其最近的平臺(tái)的最左端和最右端是否在 CenterX大于最左端,小于最右端的范圍內(nèi),如果能夠滿足該條件,游戲的圖標(biāo)會(huì)觸碰到其檢測(cè)到的一個(gè)平臺(tái),并且在接觸的同時(shí)播放在文件夾中的音頻文件,從而再次彈起規(guī)定的高度,循環(huán)到達(dá)下一次判斷的過程。在這個(gè)過程中屏幕會(huì)更具彈跳的節(jié)奏向上平緩滑動(dòng),在不斷向上跳起的過程中更新屏幕上邊平臺(tái)的顯示結(jié)果,開始下一輪的循環(huán)判斷,從而繼續(xù)游戲的進(jìn)行?!『诵膸?kù)文件的詳細(xì)解讀正是因?yàn)?Basic4android 強(qiáng)大的庫(kù)文件支持,使得程序開發(fā)能夠在脫離傳統(tǒng)相對(duì)復(fù)雜的開發(fā)方式前提下,更加簡(jiǎn)單地完成所需求的。下邊就對(duì)本游戲開發(fā)過程用到的核心的庫(kù)文件做一詳細(xì)的介紹?!ameView包括以下兩個(gè)類型的 List(1)BitmapData 包括以下事件成員及其具體描述:Bitmap As BitmapWrapper 來(lái)描繪位圖的顯示 The bitmap that will be drawn. Delete As Boolean 如果 Delete 函數(shù)為真那么當(dāng) GameView 被重新繪制時(shí)位圖數(shù)據(jù)將被清除。DestRect As RectWrapper 目標(biāo)矩形。確定所繪制的位圖的位置和大小。Flip As Int 按照某個(gè)位圖的的常量翻轉(zhuǎn)位圖。Rotate As Int 旋轉(zhuǎn)位圖的具體度數(shù)。SrcRect As RectWrapper 源矩形。確定將被繪制位圖的區(qū)域。如果矩形被初始化,將繪制完整的位圖。 (2)GameView這個(gè)庫(kù)文件能夠繪制自己的視圖與硬件圖形加速。適用于 2D 游戲開發(fā)?;?Android 的傳感器技術(shù)應(yīng)用開發(fā)30這個(gè)函數(shù)是一個(gè) Activity Object,它不能被聲明在全局的變量 Sub Process_Globals 之下。包含事件:Touch (Action As Int, X As Float, Y As Float)包括以下事件成員及其具體描述Background As BitmapsData As List [read only]返回位圖數(shù)據(jù) BitmapData 對(duì)象的列表IsHardwareAccelerated As Boolean [read only]檢測(cè)是否支持硬件加速的測(cè)試?!hone該庫(kù)文件是 Basic4android 程序開發(fā)比較常用的庫(kù)文件,它將在 android 開發(fā)過程中遇到的所有 android 設(shè)備的特征包括起來(lái),由于其內(nèi)容非常龐大,下邊只是將該論文在源代碼開發(fā)過程中遇到的主要的函數(shù)做一介紹,對(duì)于其他沒有用到的函數(shù)這里就不再贅述。能夠使游戲者在游戲的時(shí)候保持屏幕常亮的的效果就是這個(gè)函數(shù),在調(diào)用時(shí)首先聲明手機(jī)屏幕背景保持常亮 KeepAliv
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1