999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

搶灘登陸射擊類游戲的開發

2018-12-23 19:54:31謝云山
無線互聯科技 2018年7期
關鍵詞:界面游戲

謝云山

(湖南科技學院 電子與信息工程學院, 湖南 永州 425199)

1 移動通信和互聯網融合背景

最近幾年,移動通信和互聯網成為當今世界發展最快、市場潛力最大、前景最誘人的兩大業務。它們的增長速度是任何預測家都未曾預料到的。迄今,全球移動用戶已超過15億,互聯網用戶也已逾7億,中國移動通信用戶總數超過3.6億,互聯網用戶總數則超過1億。移動互聯網正逐漸滲透到人們生活、工作的各個領域。據ComScore對蘋果應用軟件店(Apple APP Store)一份全面的研究報告中顯示,人們在iPhone和iPod touch上使用最多的軟件是游戲。其中,游戲軟件中70%~75%為3D游戲軟件。

2 功能簡介

20世紀60年代,戰爭的硝煙在整個歐洲大陸上彌漫,盟軍在大陸上的作戰陷入了焦灼狀態。為了牽制敵軍的行動并最終取得決定性的勝利,玩家的使命就是:盡最大可能消耗敵人的入侵部隊,阻止敵人的進攻。面對灘頭上潮水一般涌來的敵人,唯一能依靠的就只有身后那門威力無比強大的海防炮臺。

搶灘登錄游戲的操作很簡單,運用上下左右鍵調整大炮的方位和角度,瞄準敵方坦克,按下空格鍵就可以發射炮彈來打擊敵軍。啟動游戲后首先進入的是游戲的圖標灰度漸變界面;之后自動進入到Logo灰度漸變界面;然后自動進入游戲聲音設置界面,單擊“是”,則開啟游戲聲音;單擊“否”,則關閉游戲聲音;聲音設置完畢后,自動切換到游戲開始菜單界面;單擊“游戲幫助”,則進入游戲幫助界面;單擊“關于游戲”,則進入游戲關于界面;單擊“游戲退出”,則退出游戲;當游戲結束后,則進入游戲結束界面;當進入游戲時,會有視角旋轉來讓玩家瀏覽場景;接著旋轉視角,場景中還有堅固的炮臺和威武的大炮,在鎮守著海濱要塞;游戲中水上坦克將會逐漸駛向陸地,當其登錄后,則會由陸地坦克進行登陸作戰;進行游戲時玩家可以用上下左右鍵來控制大炮的轟擊方向和位置,按下空格鍵發射炮彈;如果玩家轟擊陸地,則播放爆炸效果動畫;若玩家發射炮彈擊中陸地坦克,則播放爆炸效果動畫并擊毀坦克,同時會有新的敵軍來進攻,并且游戲左上角擊中坦克計數加1;若玩家發射炮彈擊中水上坦克,則播放爆炸效果動畫并擊毀坦克;如果玩家轟擊水面,則播放爆炸效果動畫。

3 游戲的策劃

隨著網絡的不斷發展,戰爭類游戲越來越受到玩家的喜愛,可以單機對戰,可以聯網對戰,驚險刺激,驚心動魄?!稉尀┑顷憽纷鳛橐豢顟馉庮惿鋼粲螒?,模擬了登陸戰爭中激烈的戰爭場面。只要帶著手機,玩家便可以隨時隨地進入虛擬戰爭世界,享受轟擊敵軍帶來的游戲快感,滿足玩家對游戲娛樂性的要求。

4 游戲的架構

4.1 游戲中用到的主要技術

程序中的公司界面、Logo界面、開始菜單界面、聲音設置界面、幫助界面、關于界面及結束界面均用2D技術實現。以上界面大部分繼承和擴展自SurfacView并重寫了其中的onDraw方法,并且所有的按鈕均是筆者用貼圖實現的,避免了使用Android自帶控件,使游戲畫面更加絢麗、個性。

游戲時的界面使用3D技術實現,游戲界面繼承和擴展了GLSurfaceView并實現了Renderer接口,通過重寫onKeyDown方法實現與用戶的交互。

4.2 游戲菜單界面的框架合計

游戲開始菜單是游戲的一個重要界面,當一開始進入游戲設置完音樂后,就會進入這個界面。下面闡述一種橫屏模式下帶有滾動效果的菜單界面。開始菜單SurfaceViewMenu.java類是本設計最主要的類之一,其實現比較復雜。

(1)onDraw繪制方法,用于繪制位圖。

@Override

public void onDraw(Canvas canvas){……}

(2)初始化菜單的方法,初始化當前及靠其左右的菜單項的位置大小參數。

public void initMenu(){……}

4.3 游戲菜單界面的實現

游戲菜單界面的實現,難點在ThreadMenu.java方法。該方法是用于控制菜單拖動的動畫效果的線程,在特定的時間間隔后就會調用一次repaint方法對菜單界面進行重繪。Repaint方法的主要作用是重繪,其中調用了onDraw方法。

4.4 游戲界面中主要場景的繪制及實物運動

游戲中山地、海洋、坦克、大炮、炮彈、炮臺、月球、星空及燈塔的創建基礎均是根據圓面、圓柱體、圓錐體、長方體、球體中的一個或者幾個拼接而成的。關于地圖的生成,水面的實現方法,是分別運用了山地生成技術和飄揚的旗幟技術來完成實現的。山地生成中為了使場景更加真實,在生成山地時做了一定的改動。對于場景中的拼裝物體,如大炮、坦克、炮臺和燈塔,實現方法都比較相似。

關于在場景中物體的運動,包括水上坦克的運動、陸地坦克的運動,以及炮彈的運動,還有光源的旋轉、攝像機的旋轉、月球的旋轉,以及星空的旋轉。由于物體的運動實現是有些相似的,所以,我們以炮彈的運動和月球的旋轉運動為例來闡述物體運動的實現。

在實現炮彈的運動中,因為炮彈同一時間存在的數量可以很多,所以將場景中存在的炮彈放在一個炮彈列表中,當需要繪制場景時從列表中逐個掃描炮彈,并用一個邏輯類LogicalBullet.java來控制當前掃描到的炮彈的位置、速度的大小和方向并檢測是否發生碰撞,若碰撞則發生爆炸并播放爆炸動畫,若沒有碰撞則引用DrawBall實例來繪制炮彈。

4.5 各類的設計

4.5.1 公共類

主類Activity_GL_Demo.java通過繼承和擴展基類Activity來實現的,是整個應用程序的入口。主要根據收到的Handler消息的不同切換到不同的界面,并且控制聲音播放和場景渲染的暫停和恢復。常量Constant.java類記錄程序中所有類需要用到的常量,便于以后的修改。

4.5.2 2D界面類

圖標漸變界面 Surfac洳ewTag.java類,該類用于公司圖標等的漸變實現。聲音設置界面SurfaceViewSound.java類,該類是聲音設置界面的實現類,主要負責聲音設置界面的繪制,控制游戲中聲音的開關。開始菜單界面SurfaceViewMenu.java類,這個類是開始菜單界面的實現類,實現開始菜單界面的繪制,是連接整個程序中各類的一個集中地,能根據單擊不同的菜單向Activity_GL_Demo.java發送不同的Handler消息。幫助界面SurfaceViewHelp.java類,游戲幫助界面由這個類實現,用來繪制游戲幫助界面,以顯示游戲的規則、操作等信息。關于界面SurfaceViewAbout.java類,該類是游戲關于界面的實現類,主要負責游戲關于界面的繪制,顯示游戲相關信息。游戲結束界面SurfaceViewOver.java類,該類是游戲結束界面的實現類,繪制游戲結束界面,顯示玩家的得分情況和提供再玩一次的功能。

5 游戲中的碰撞檢測

運用高等數學中的向量理論,運用向量知識解決場景中的碰撞問題,主要包括炮彈與山地的碰撞,陸地坦克與山地的碰撞,陸地坦克與海面的碰撞,以及水上坦克與陸地的碰撞。進行炮彈與山地碰撞檢測的最終目的是為了判斷炮彈在何時爆炸,已知炮彈的實時位置和速度。思路如下。矩形為陸地平面上的一個網格,因為整個地圖都是由類似的這些生成三角形拼接而成的,只是陸地平面中的網格是按像素來劃分的,人眼很難辨別,所以看上去像是真實的山地地圖場景,所以在此我們將以拼接三角形來闡述炮彈的碰撞檢測。

對于炮彈碰撞山地的檢測。確定炮彈所在位置對應的陸地平面的行、列。求出炮彈所對應的平面位置所對應的場景中山地的高度。比較炮彈當前位置和對應山地高度的大小。如果炮彈當前位置高于對應山地的高度,則沒有碰撞,炮彈繼續運動;否則,發生碰撞。

基本算法思想:首先分別求出0號點到1,2號點的矢量,然后由兩個矢量求叉積,得到三角形平面的法矢量(B,C),接著通過法矢量和o號點坐標可以寫出三角形平面的方程A(x-xo)+B(Y-Yo)+C(z-zo)=0,然后可以推導出在xz平面上的點對應點的y坐標的求值公式y=(C(zo-z)+A(xo-x)/B+Yo,最后通過該求值公式求出指定xz平面上的點對應的地圖上點的y的值。

在本游戲中,關于陸地坦克與山地的碰撞檢測、陸地坦克與水面的碰撞檢測,以及水上坦克與陸地的碰撞檢測的方法和炮彈與山地的碰撞檢測相似。

6 游戲的優化與改進

如果能在游戲的最后加上游戲成績的存儲與排行,會大大提高玩家對本游戲的體驗。另外,游戲應該開發成多種模式,不同的模式帶來不一樣的體驗,單一的模式會讓游戲很快失去對玩家的吸引力。同時應該添加游戲難度的選擇功能,使玩家根據自己的情況選擇不同的等級進行游戲,這樣才更加合理。

[參考文獻]

[1]吳亞峰,于復興.Android 3D游戲開發技術詳解與典型案例[M].北京:人們郵電出版社,2012.

[2]謝明山,鄧艷芳.Android環境下開發五子棋游戲關鍵技術研究[J].電子世界,2014(14):390.

[3]于寶華,賈于博,谷蘇港.基于Android的高校學生畢業設計管理系統設計[J].福建電腦,2017(12):390.

猜你喜歡
界面游戲
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
基于FANUC PICTURE的虛擬軸坐標顯示界面開發方法研究
空間界面
金秋(2017年4期)2017-06-07 08:22:16
游戲
電子顯微打開材料界面世界之門
人機交互界面發展趨勢研究
數獨游戲
瘋狂的游戲
飛碟探索(2016年11期)2016-11-14 19:34:47
爆笑游戲
第八章直接逃出游戲
小學科學(2015年7期)2015-07-29 22:29:00
主站蜘蛛池模板: 亚洲码一区二区三区| 国产成人精品免费av| 波多野结衣国产精品| 亚洲开心婷婷中文字幕| 亚洲成a人片77777在线播放| 91最新精品视频发布页| 免费人成视频在线观看网站| 老司机精品久久| 毛片卡一卡二| 91在线播放国产| 日韩国产高清无码| 97视频免费看| 亚洲男人的天堂久久香蕉网 | 国产成人乱码一区二区三区在线| 亚洲日韩图片专区第1页| 国产91丝袜在线播放动漫 | 丝袜国产一区| 狂欢视频在线观看不卡| 国产成人精品一区二区不卡| 国产精品久久久久无码网站| 国产成人福利在线视老湿机| 很黄的网站在线观看| 伊人久久福利中文字幕| 日韩国产综合精选| 国产网站免费| 日日摸夜夜爽无码| 精品午夜国产福利观看| 色视频国产| 无码高潮喷水在线观看| 18黑白丝水手服自慰喷水网站| 国产不卡一级毛片视频| 国产福利影院在线观看| 日本精品αv中文字幕| 成人日韩欧美| 亚洲成在人线av品善网好看| 97超爽成人免费视频在线播放| 69av免费视频| 国产免费羞羞视频| 国产成人亚洲精品无码电影| 欧美成人午夜视频| 欧美一级在线看| 国产男女免费视频| 91精品国产综合久久不国产大片| 国产一区二区免费播放| 国内精品久久人妻无码大片高| 亚洲天堂网站在线| 极品av一区二区| 波多野结衣中文字幕一区二区| 久久99热66这里只有精品一| 亚洲高清日韩heyzo| 免费人成视网站在线不卡| 亚洲国产无码有码| 亚洲综合色婷婷| 久久久受www免费人成| 亚洲无限乱码一二三四区| www.日韩三级| 亚洲无线一二三四区男男| 日韩在线观看网站| 亚洲人成网站色7799在线播放 | 综1合AV在线播放| 九色91在线视频| 精品国产免费观看| 99精品高清在线播放| 日韩无码黄色| 国产精品欧美在线观看| 色综合久久88| 国产三区二区| 日本爱爱精品一区二区| 中国一级特黄视频| 波多野结衣亚洲一区| 日韩在线视频网| 三上悠亚在线精品二区| 欧美精品影院| 亚洲综合天堂网| 国产极品粉嫩小泬免费看| 欧美一级夜夜爽| 激情六月丁香婷婷| 久久不卡精品| 国产精品无码AⅤ在线观看播放| 国产网站黄| 久久99国产乱子伦精品免| 免费人成视网站在线不卡|