亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于Android的手機2D游戲引擎的制作方法_2

文檔序號:8543498閱讀:來源:國知局
meListener接口、InputProcessot接口、GestureListener接口,同時包含實現(xiàn)了繪圖功能的精靈對象spritebatch、Android設(shè)備上下文的引用標(biāo)識、游戲場景的引用標(biāo)識。GameListener接口是在GameActivity中用來注冊游戲?qū)嶓w的引用接口,用于從游戲的Π線程關(guān)聯(lián)到游戲的實體部分;InputProcessor和GestureLi stener接口用于實現(xiàn)游戲?qū)嶓w對事件消息的響應(yīng)和滑動手勢的處理;spritebatch對象是一個封裝了游戲的渲染功能的對象,用于場景中圖像的繪制,該對象的設(shè)計在圖像顯示模塊進行具體介紹context是關(guān)于Android的設(shè)備上下文標(biāo)識,用于使用Android自身應(yīng)用程序接口來訪問資源;screen對象是游戲中場景的一個引用標(biāo)識,游戲?qū)嶓w在進行事件分發(fā)和繪制顯示時,調(diào)用該引用來訪問到當(dāng)前的場景。Screen類是游戲場景的抽象表示,每一個游戲場景可能包含一個特定的游戲邏輯世界MWorld類或者便于對場景的元素進行管理進一步劃分的邏輯層MLayer類。事件的響應(yīng)和渲染操作從Game類進行分發(fā)到Screen類再到MWorld類和MLayer類,最后到游戲的實體元素MObject類。這樣層次分明有助于游戲開發(fā)者任意的劃分游戲中的各個場景,以方便的描述游戲的邏輯,同時按照這種處理約定可以最快地實現(xiàn)對游戲場景的操作和管理。
[0034]圖像顯示模塊包含游戲中的渲染類以及使用OpenGL ES繪制圖形的封裝類SpriteBatch。渲染類創(chuàng)建渲染線程,建立OpenGL ES對象引用。繪制圖形的封裝類SpriteBatch封裝底層OpenGL ES函數(shù)的復(fù)雜操作,提供方便的2D繪圖接口,通過調(diào)用簡單的繪制函數(shù)來實現(xiàn)高性能的渲染效果。
[0035]動畫模塊主要是為了開發(fā)人員能夠以方便的方式生成和使用設(shè)計好的2D動畫,并提供動畫圖片的去冗余處理,使用時依然可以使用Android提供的原始動畫,兩者相互不影響。動畫模塊的主要類是MFAnimat1n,該類完成動畫文件的解析、生成、以及控制。
[0036]事件響應(yīng)模塊處理Android平臺下的鍵盤事件、屏幕觸摸事件、傳感器事件、震動事件。事件響應(yīng)處理統(tǒng)一封裝到了 GameInput類中,該類分離了事件在視圖中的處理,將事件的處理統(tǒng)一由游戲?qū)嶓w中的事件處理對象input引用,再將事件分別分發(fā)到游戲?qū)嶓w中的各個場景,便于游戲場景對事件的響應(yīng),當(dāng)Android對事件的處理發(fā)生變化的時候,只需要修改Gamelnput類的實現(xiàn),游戲本身不需要修改。
[0037]資源管理模塊負責(zé)Android平臺下聲音、圖片資源的加載以及使用。為方便資源文件的訪問,設(shè)計四種訪問資源文件的路徑:內(nèi)部文件、擴展文件、絕對路徑文件、本地路徑文件。內(nèi)部文件是由Android提供的asserts目錄下的文件;擴展文件是Android提供的放在存儲卡上的文件;絕對路徑文件是Android上的完整路徑名文件;本地路徑文件是當(dāng)前程序根目錄下的相對路徑文件。Android資源通過AssetManager進行訪問,AssetManager負責(zé)資源文件的數(shù)據(jù)的讀取。為方便聲音資源、圖片資源的使用,對這兩部分進行分別的實現(xiàn),其它資源文件的訪問可由AssetManager進行直接的訪問。
[0038]1.聲音管理模塊的設(shè)計與實現(xiàn)
[0039]Android平臺下的聲音分為兩類:Sound和Music, Sound類型的聲音文件資源小、播放時間短;Music類型的聲音文件資源大、播放時間長。Sound類型的聲音文件由SoundPool進行管理和播放,Music類型的聲音文件由MediaPlayer進行管理和播放。游戲引擎Idoodle中聲音資源模塊的管理和使用統(tǒng)一封裝到了 GameAud1類中。
[0040]2.圖片管理模塊設(shè)計與實現(xiàn)
[0041]為提供圖像顯示模塊中繪圖的實現(xiàn),圖片資源統(tǒng)一被封裝在Texutre中,以紋理的方式存在。Texture類是一個包含有圖像像素數(shù)據(jù),以及封裝了 OpenGL ES的紋理常用操作的類。為提高圖像的渲染速度,將同時需要渲染的圖片一次提交,設(shè)計了 TextureReg1n類,該類是包含Texture引用對象的類。Texture類對應(yīng)的圖片資源包含多個需要渲染的小的圖片資源,TextureReg1n類是對小的圖片資源的引用。
[0042]Android動畫去冗余:整個動畫去冗余過程如附圖6,首先使用Flash CS5制作相應(yīng)的動畫,將一類動畫作為一組,使用第三方的合圖軟件將一組動畫中所有的小圖合成為一張大圖,同時得到小圖所在的大圖的位置描述信息,然后通過分析DOMDocument.xml文件提取相應(yīng)的信息并結(jié)合合圖的相關(guān)信息,得到一個包含有所有動畫圖片的大圖以及每一個動畫的所有描述信息,最后使用動畫模塊來實現(xiàn)動畫的解析與控制。通過對動畫去冗余的分析以及實際在項目中的使用情況,動畫資源大約可以去掉70%的圖片冗余。
[0043]基于梯度最小準(zhǔn)則的線性插值修正算法的改進,在原算法的基礎(chǔ)上引入了相鄰像素相關(guān)性判斷,以保留像素邊緣信息的高頻分量。
[0044]1.確定與插值點最近的三點,作為相關(guān)性點的選擇點。
[0045]2.確定相關(guān)性大的兩點的像素值,作為插值參考點的像素值。
[0046]3.確定相關(guān)性大的兩點的像素值,作為插值參考點的像素值。
[0047]將一維擴展到二維情況:按照以上插值計算步驟,首先將原始圖像按照縮放比實現(xiàn)水平方向放大得到中間圖像,然后再將中間圖像按照垂直方向放大,得到最終的圖像。
【主權(quán)項】
1.一種基于Android的手機2D游戲引擎的特點: (1)提出了一種解決2D動畫冗余的方法; 首先使用Flash CS5制作相應(yīng)的動畫,將一類動畫作為一組,使用第三方的合圖軟件將一組動畫中所有的小圖合成為一張大圖,同時得到小圖所在的大圖的位置描述信息,然后通過分析DOMDocument.xml文件提取相應(yīng)的信息并結(jié)合合圖的相關(guān)信息,得到一個包含有所有動畫圖片的大圖以及每一個動畫的所有描述信息,最后使用動畫模塊來實現(xiàn)動畫的解析與控制。通過對動畫去冗余的分析以及實際在項目中的使用情況,動畫資源大約可以去掉70%的圖片冗余。 (2)改進型基于梯度最小準(zhǔn)則的線性插值修正算法; 1)確定與插值點最近的三點,作為相關(guān)性點的選擇點。 2)確定相關(guān)性大的兩點的像素值,作為插值參考點的像素值。 3)確定相關(guān)性大的兩點的像素值,作為插值參考點的像素值。 將一維擴展到二維情況:按照以上插值計算步驟,首先將原始圖像按照縮放比實現(xiàn)水平方向放大得到中間圖像,然后再將中間圖像按照垂直方向放大,得到最終的圖像。
2.根據(jù)權(quán)利I要求的2D動畫去冗余技術(shù)。
3.根據(jù)權(quán)利I要求的改進型基于梯度最小準(zhǔn)則的線性插值修正算法。
【專利摘要】本發(fā)明設(shè)計了手機游戲開發(fā)所需要的游戲引擎的各個模塊。針對2D動畫冗余的問題,結(jié)合Flash提供的XFL文檔,提出了一種解決2D動畫冗余的方法。針對Android上圖像縮放模糊和系統(tǒng)硬件限制的問題,改進了基于梯度最小準(zhǔn)則的線性插值修正算法,在原算法的基礎(chǔ)上引入了相鄰像素相關(guān)性判斷,以保留像素邊緣信息的高頻分量。本引擎具有能夠提高游戲開發(fā)效率、減少游戲所需資源、提高圖像縮放的顯示效果的功能。附圖為游戲引擎功能模塊圖。
【IPC分類】G06F9-44
【公開號】CN104866291
【申請?zhí)枴緾N201410062630
【發(fā)明人】孫堯
【申請人】上海連夢文化傳播有限公司
【公開日】2015年8月26日
【申請日】2014年2月24日
當(dāng)前第2頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1