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
主站蜘蛛池模板: 99久久精品国产精品亚洲| 欧美区日韩区| 欧美人人干| 国产青榴视频| 尤物在线观看乱码| 日韩AV无码免费一二三区| 免费国产黄线在线观看| A级毛片无码久久精品免费| 538精品在线观看| 中文字幕乱码中文乱码51精品| 国产毛片久久国产| 女人18一级毛片免费观看| 国产黄在线免费观看| 亚洲精品人成网线在线 | 亚洲丝袜第一页| 欧美笫一页| 国产91特黄特色A级毛片| 国产乱子伦精品视频| 亚洲成网777777国产精品| 波多野结衣亚洲一区| 99中文字幕亚洲一区二区| 欧美午夜视频在线| 亚洲男人的天堂网| 最新国产你懂的在线网址| 亚洲精品国产精品乱码不卞| 青青国产在线| 操操操综合网| 2048国产精品原创综合在线| 欧美第二区| 国产乱人伦精品一区二区| 色男人的天堂久久综合| 亚洲精品免费网站| 国产亚洲欧美在线中文bt天堂 | 国产在线观看精品| 国产成人三级| 18禁黄无遮挡免费动漫网站| 国产在线观看91精品亚瑟| 国产精品成人观看视频国产| 黄色网站在线观看无码| Jizz国产色系免费| 日本在线亚洲| 亚洲一区毛片| 天堂亚洲网| 97青草最新免费精品视频| 国产不卡一级毛片视频| 免费视频在线2021入口| 99er精品视频| 久久精品aⅴ无码中文字幕| 国产全黄a一级毛片| 久久国产精品无码hdav| 国产福利一区视频| 日韩av在线直播| 九九精品在线观看| 重口调教一区二区视频| 久久频这里精品99香蕉久网址| 亚洲男人的天堂久久香蕉网 | 亚洲天堂网2014| 色综合久久88| 国产AV无码专区亚洲精品网站| 一级一毛片a级毛片| 超碰aⅴ人人做人人爽欧美 | 91激情视频| 欧美在线天堂| 无码中文字幕精品推荐| 国产精品亚洲一区二区三区z| 国产午夜无码片在线观看网站| 国产高清在线精品一区二区三区| 国产精品大白天新婚身材| 国产在线观看成人91| 亚洲最大情网站在线观看 | 九九热免费在线视频| 亚洲专区一区二区在线观看| 亚洲av色吊丝无码| 自拍欧美亚洲| 成人噜噜噜视频在线观看| 国产精品v欧美| 青草午夜精品视频在线观看| 91在线视频福利| 天堂成人av| 国产一区二区精品福利| 呦女亚洲一区精品| 蜜芽国产尤物av尤物在线看|