基于j2me的視覺增強(qiáng)仿真設(shè)計_第1頁
基于j2me的視覺增強(qiáng)仿真設(shè)計_第2頁
基于j2me的視覺增強(qiáng)仿真設(shè)計_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

基于j2me的視覺增強(qiáng)仿真設(shè)計

1j2me的配置java平臺介紹給java2后,java平臺對不同特定領(lǐng)域的需求主要分為三個版本:j2e、j2se和j2me。其中J2ME定位在消費性電子產(chǎn)品的應(yīng)用上。這個版本針對資源有限的電子消費產(chǎn)品的需求精簡核心類庫,并提供了模塊化的架構(gòu)讓不同類型產(chǎn)品能夠隨時增加支持的能力。J2ME中有兩個最主要的配置:ConnectedLimitedDevicesConfiguration(CLDC)和ConnectedDevicesConfiguration(CDC)。作為第一個面對小型設(shè)備的Java應(yīng)用開發(fā)規(guī)范,CLDC是由包括Nokia,Motorola和Siemens在內(nèi)的18家全球知名公司共同協(xié)商完成的。CLDC是J2ME核心配置之一,可以支持一個或多個profile。其目標(biāo)主要面向小型的、網(wǎng)絡(luò)連接速度慢、能源有限(主要是電池供電)且資源有限的設(shè)備,如手機(jī)、PDA等。2d游戲的發(fā)展現(xiàn)在PC上的3D游戲已經(jīng)達(dá)到了一個相當(dāng)?shù)母叨?,在高性能的硬件平臺上運行起來視覺效果堪稱完美。隨著技術(shù)的發(fā)展,人們開始想到在手機(jī)上開發(fā)3D游戲。雖然現(xiàn)在已經(jīng)有了一些手機(jī)3D游戲,但是這些游戲要求的硬件性能很高,只有少數(shù)高端手機(jī)才能支持這些3D游戲。對于中低端手機(jī),只能在平淡的2D畫面上增加效果,在視覺上使游戲界面產(chǎn)生立體感,或利用視覺差產(chǎn)生仿3D的效果。下面以大家熟知的小游戲“彈球”為例說明。3色彩不同的應(yīng)用在傳統(tǒng)的2D彈球游戲中界面視覺效果十分單調(diào)。如圖1所示。對于界面的優(yōu)化,主要是在磚塊、彈球、擋板的右下方添加陰影,在磚塊、擋板上方添加亮線,在彈球的中間添加亮點,在擋板、磚塊、彈球的右下方繪制暗色,從而利用色彩上的差異達(dá)到增強(qiáng)立體感的效果。下面分別介紹一下對彈球、擋板和磚塊的模擬3D的處理。3.1.彈球的色在類定義的時候就定義了球的顏色為紅色,同時定義了右下方陰影的顏色為暗色,對于球體也分了亮色和暗色,彈球中間的顏色為亮色。對于陰影,在繪制的時候就是在彈球的右下方繪制一個和彈球等大的一個圓,由彈球覆蓋住陰影的大半部分,留下而露出的小半部分恰恰起到了增強(qiáng)立體感的效果。在繪制彈球時,對于彈球的邊緣先用亮色描一遍,再在右下的半圓使用了暗色覆蓋了原來的亮色,達(dá)到模擬3D的效果,如圖2所示。3.2繪制亮線,繪制暗線在磚塊的色彩處理上,作者采用了和彈球處理類似的方法,即在圖形的左上方繪制亮線,在圖形右下方繪制暗線,在圖形右下方繪制陰影。而在擋板的處理上簡單地使用了陰影。這里就不再贅述了。磚塊和擋板的放大圖形如圖3所示,圖4為游戲效果。4維彈球游戲的效果仿3D游戲是在2D的平臺上的實現(xiàn)3D效果的游戲,其原理就像在平面的紙上畫3維坐標(biāo)系,利用繪制的圖形達(dá)到3D的效果。這種思想已經(jīng)接近了3D游戲設(shè)計的思想。在二維彈球設(shè)計中我們維護(hù)的是一個平面上的信息,實質(zhì)上維護(hù)的是一個二維數(shù)組,小球運行的方向也是一個二維的向量。對于三維的彈球游戲,我們需要使小球在一個三維空間內(nèi)運動,那么對應(yīng)的,我們所維護(hù)的就是一個三維數(shù)組,小球運動的方向也是一個三維的向量。對于三個維度,x軸與y軸就使用平面的x軸與y軸,z軸的處理就略為復(fù)雜一點,z軸的方向使之為xy平面的法線向外的方向,利用物體大小的變換產(chǎn)生上下移動的效果,即z軸對應(yīng)的數(shù)值反映在界面上為物體的大小。整個界面的視角為俯瞰,z軸的數(shù)值大則物體大,表示距觀察點近,z軸的數(shù)值小則物體小,表示距觀察點遠(yuǎn)。圖5為3D彈球游戲的效果。整個游戲的代碼量與內(nèi)存占用量較真正的3D游戲要小的多,適合在中低端手機(jī)上運行。5底層3d引擎對于J2ME程序而言,Mobile3DGraphicsAPI(JSR184)的出現(xiàn),使得為手機(jī)應(yīng)用程序添加3D功能成為可能。M3G是J2ME的一個可選包,以O(shè)penGL為基礎(chǔ)的精簡版,一共有30個類,運行在CLDC1.1/CLDC2.0上(必須支持浮點運算),可以在MIDP1.0和MIDP2.0中使用。目前,支持M3G的手機(jī)還比較少。M3G只是一個Java接口,具體的底層3D引擎一般由C代碼實現(xiàn)。在M3G中,Graphics3D是3D渲染的屏幕接口,World代表整個3D場景,包括Camera(用于設(shè)置觀察者視角)、Light(燈光)、Background(背景)和樹型結(jié)構(gòu)的任意數(shù)量的3D物體。3D對象在計算機(jī)中用點(Point,Pixel)、線(Line,Polyline,Spline)、面(Mesh)來描述,具體存儲和運算(如旋轉(zhuǎn)、投影)都是矩陣運算和變換。類似于Microsoft的D3D,M3G支持兩種3D模式:立即模式(immediatemode)和保留模式(retainedmode)。在立即模式下,開發(fā)者必須手動渲染每一幀,從而獲得較快的速度,但代碼較繁瑣;在保留模式下,開發(fā)者只需設(shè)置好關(guān)鍵幀,剩下的動畫由M3G完成,代碼較簡單,但速度較慢。M3G也允許混合使用這兩種模式。對于手

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論