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

基于Flash lite的手機打磚塊益智游戲的設計

2014-02-14 05:44:48吳偉信莊月萍
韶關學院學報 2014年8期
關鍵詞:方向游戲

吳偉信,莊月萍

(泉州師范學院 教育科學學院,福建 泉州362000)

基于Flash lite的手機打磚塊益智游戲的設計

吳偉信,莊月萍

(泉州師范學院 教育科學學院,福建 泉州362000)

隨著Flash技術在移動設備中的實現,在手機上開發游戲軟件的速度大大地提高了,開發難度也有所降低.闡述了Flash lite的主要技術,并提出設計方案,設計了一款打磚塊手機游戲,在構建了完善的游戲思維的基礎上,分析了需要解決的關鍵問題及需要使用的關鍵技術,劃分功能模塊,實現整套游戲的開發,并采用手機模擬器進行模擬測試,驗證游戲功能.

Flash lite;手機;打磚塊;益智游戲;碰撞檢測

移動學習正在成為人們學習的一種新方式,益智游戲也作為一種新型的學習方式逐漸被廣大用戶接受,這些可以讓我們預見到手機益智游戲將會是手機、學習與游戲融合的一個必然趨勢,寓教于樂的理想將在信息時代通過手機益智游戲的方式得以實現[1].

Flash lite是Adobe公司開發的專門針對移動設備而設計的一種Flash開發技術.利用Flash lite開發手機游戲具有占用存儲空間小、支持腳本語言分割、平臺無關性和適用所有主流手機制造商等優勢.由Flash lite開發的手機游戲具有很好的通用性和可移植性.此外,Flash lite技術能將Flash功能與移動設備的處理能力和配置進行平衡,在動畫顯示、界面設計以及服務器整合等方面擁有先天性的優勢,使得開發者能夠快速地為移動設備開發出極具表現力、交互性強的游戲[2-3].針對手機硬件資源有限、屏幕小、游戲時間短等特點,應用Flash Lite技術設計簡單、操作方便、有益于智力開發的手機游戲,有著及其廣闊的發展空間[4].

1 打磚塊游戲設計

1.1 設計思想

游戲者進入游戲后需要打掉所有磚塊,游戲過程中會有益智題出現,以游戲者是否接住正確答案的禮品作為獎懲.在游戲開始時,游戲者的生命值為4,玩家通過方向鍵的上、下鍵控制擋板左右運動,用擋板擋住小球使小球彈起來,打掉上面的磚塊.每打掉一個磚塊,就可以得到相應的分數,如果擋板沒有擋住小球致使小球落下,生命值減1,如果生命值為零,則游戲結束.游戲提供了獎懲元素,當小球打掉磚塊時會不定時隨機出現禮品,游戲過程中擋板會有益智題出現,當有益智題答案相關的禮品落下時,如果游戲者接住正確答案的禮品,擋板會變長,如果接住錯誤的答案禮品,擋板會變短.整個游戲共分為三關,游戲者在每關打掉所有的磚塊,便進入下一關,通關后的每一關,通過遞減磚塊與擋板的距離增加游戲難度.總體流程設計見圖l.

1.2 需要解決的主要問題

在研究Flash lite的基礎上,對現有PC版打磚塊游戲進行調研分析,結合益智游戲的特征,設計的手機游戲需要解決的主要問題如下:

(1)需要對游戲中角色進行碰撞檢測,在角色進行移動的過程中,角色與角色之間可能會發生碰撞,檢測可能發生的碰撞是游戲設計的關鍵,主要體現在磚塊和小球的碰撞檢測、小球和擋板的碰撞檢測.

(2)通過鍵盤響應事件進行玩家擋板的左右移動控制,但小球彈射是自動運行,就需要有一定的智能性;小球彈射的運行算法體現在X方向和Y方向上的速度控制,運行區域控制和移動方向控制.

(3)即時進行游戲的記分和生命值顯示實現對玩家的評價,在游戲中需要動態的顯示當前玩家的游戲得分和玩家剩余的生命值,并控制游戲的晉級和結束.

(4)手機內存小,代碼利用率高,所以該程序邏輯設計應相對嚴謹,應盡量將所有可能發生的事件及意外情況考慮在設計中.

2 關鍵技術分析

圖1 游戲運行流程圖

Flash游戲場景中采用hitTest方法,實現角色所對應的元件實例兩兩依次進行碰撞檢測,判斷兩個元件或目標是否重疊和相交,如果相交或重疊,就執行相應的動作[6-7].基于hitTest方法進行碰撞檢測有兩種情況.

2.1 元件與某點相交的檢測

應用于檢測某一影片元件(MC)是否與一坐標(x,y)相交,語法格式:MC.hitTest(x,y,true[false]);當第3個參數取值為true時,將根據MC元件實例的實際圖形范圍進行碰撞檢測,如果取值為false則通過MC的外框檢測是否與(x,y)相交,判斷的返回值為true或false.

2.2 兩個元件間的相交檢測

應用于檢測兩個元件是否發生相交或重疊的檢測,語法格式:MC1.hitTest(MC2);其中MC1為被檢測的影片元件,MC2為用來檢測的影片元件;如果返回值為true,說明兩個元件的外框有交叉,即發生了碰撞,如果返回值為False,說明兩個元件沒有發生碰撞[8].本研究主要采用該檢測法進行游戲場景中的元件碰撞檢測.應用方法:

if(_root.MC1.hitTest(_root.MC2))

{//發生碰撞后的處理代碼}.

3 游戲主要功能模塊的實現

3.1 擋板移動功能的實現

將擋板創建成影片元件,結合動態文本框在擋板上隨機顯示益智題;利用Key.isDown()方法實現手機鍵控制擋板移動,當按下手機向上方向鍵時,擋板向左移動;當按下向下方向鍵時,擋板向右移動.關鍵代碼如下:

onClipEvent(load){

……

intervaltime=Math.floor(Math.random()*200)+600;

tshowlap=setInterval(tshow,intervaltime);//間隔intervaltime毫秒時間隨機顯示對應益智題元件

……

onClipEvent(enterFrame){

……

if(Key.isDown(Key.UP)){ //當按下手機鍵向上的方向鍵時

if(this._x>0){ //如果擋板的X軸位置大于0

this._x=this._x-_root.yidong; //擋板的位置向左移動

}else{

this._x=0; //否則擋板的位置為0

}

}

if(Key.isDown(Key.DOWN)){ //當按下手機鍵向下的方向鍵時

if(this._x<200){ //如果擋板的X軸位置小于200

this._x=this._x+_root.yidong; //擋板的位置向右移動

}else{

this._x=200; //否則擋板的位置為200

……

3.2 小球彈射功能的實現

通過enterFrame事件隨時改變小球的位置,即定義兩個變量,賦給大于0的初值,這兩個變量控制小球移動時在X方向和Y方向上的速度,設置小球在手機屏幕范圍內移動,若小球超出屏幕臨界值時,將小球的X軸或Y軸固定在臨界值,并控制小球沿相反方向移動,關鍵代碼如下:

onClipEvent(enterFrame){

this._x=this._x+_root.qiux;//設定小球X方向按一定速度移動

this._y=this._y+_root.qiuy;//設定小球Y方向按一定速度移動

if(_x>200){ //如果小球X軸大于手機屏幕右邊臨界值

_root.qiu._x=200;//將小球X軸設定為手機屏幕臨界值

_root.qiux=_root.qiux*-1;//控制小球在X軸方向上取反

if(_x<0){//如果小球X軸小于手機屏幕左邊臨界值

_root.qiu._x=0;//將小球X軸設定為手機屏幕左邊臨界值

_root.qiux=_root.qiux*-1;//控制小球在X軸方向上取反

}

if(_y>300){//如果小球Y軸大于手機屏幕下邊臨界值

……

this.removeMovieClip();//刪除小球

……

3.3 小球與擋板、磚塊與小球碰撞功能的實現

使用hitTest()方法檢測小球與磚塊和擋板是否發生碰撞;當小球碰撞到擋板時,改變小球屬性中的_x、_y,直接控制小球沿相反方向運動,根據碰撞擋板的位置,調整小球移動的速度實現小球彈射.當磚塊碰撞到小球時,根據碰撞的位置,控制小球的移動方向,運行磚塊消失動畫,并采用removeMovieClip()方法刪除磚塊;更新積分文本框,同時促發隨機產生數字獎品(標注算式題可能的答案),玩家控制擋板碰撞正確答案的獎品即可增加擋板寬度,碰撞錯誤答案的獎品擋板變短[8].關鍵代碼如下:

onClipEvent(enterFrame){

……

if(this.hitTest(_root.dangban)){//如果小球碰撞到擋板_

root.ball=_root.ball*-1;//變量“ball”的值取反,控制小球在Y軸上向相反方向運動

}

……

onClipEvent(enterFrame){

if(this.hitTest(_root.qiu)){//當小球與磚塊發生碰撞

……

if(_root.qiu._y>this._y+6){//碰撞時,當小球在磚塊上方

_root.qiuy=_root.qiuy*-1;//控制小球在Y軸方向上取反

this.play();}//運行磚塊消失動畫

if(_root.qiu._x<this._x&&_root.qiu._y>this._y-6&&_root.qiu._y<this._y+6){

//碰撞時,當小球在磚塊偏左邊

_root.qiux=_root.qiux*-1;//控制小球在X軸方向上取反

this.play();}//運行磚塊消失動畫

if(_root.qiu._y<this._y-6){//碰撞時,當小球在磚塊下方

_root.qiuy=_root.qiuy*-1;//控制小球在Y軸方向上取反

this.play();}//運行磚塊消失動畫

if(_root.qiu._x>this._x&&_root.qiu._y>this._y-6&&_root.qiu._y<this._y+6){

//碰撞時,當小球在磚塊偏右邊

_root.qiux=_root.qiux*-1;//控制小球在X軸方向上取反

this.play();}//運行磚塊消失動畫

……

3.4 磚塊排列的實現

使用二維數組定義磚塊位置和duplicateMovieClip()方法復制排列磚塊;定義一個二維數組,用于標示磚塊位置的數組元素存放“1”,其它數組元素存放“0”,通過duplicateMovieClip()函數復制磚塊,并將磚塊放置于數組元素為“1”處;游戲的晉級就是通過改變數組元素的位置,改變舞臺中磚塊所排列出來的圖形.主要代碼如下:

……

定義二維數組,數組中1的位置用于放置磚塊

……

onClipEvent(load){

for(i=0;i<_root.ditu[0].length;i++){

for(j=0;j<_root.ditu.length;j++){

if(_root.ditu[j][i]==1){//在二維數組中選擇存放“1”的元素_

root.shendu++;//標示復制磚塊層次

duplicateMovieClip(_root.zhuankuai,"zhuankuai"+_root.shendu,_root.shendu);

//數組元素為“1”處復制磚塊

_root["zhuankuai"+_root.shendu]._x=15+i*10;//設置復制磚塊的X坐標值

_root["zhuankuai"+_root.shendu]._y=30+j*20;}}}}//設置復制磚塊的Y坐標值

……

3.5 游戲的調試運行

基于Flash lite平臺開發打磚塊游戲,將預處理、編譯、打包等流程自動化,生成相應的SWF文件,調用Action Script腳本文件,并在Adobe Device Central手機模擬器中調試、運行,對發現Bug的代碼進行修改.在模擬器上充分測試后,即可進行發布.當然,模擬器并不能模擬目標設備的所有方面,如設備的處理器速度、顏色深度或網絡延遲等.游戲在手機模擬器反復測試以后,通過藍牙發布到Android系統智能手機和基于IOS系統的iPhone手機上進行原型測試,效果良好.

4 結語

分析了手機打磚塊益智游戲開發涉及到的關鍵技術,提出了打磚塊游戲開發中基于Flash lite的hitTest碰撞檢測方法,對需要解決的主要問題和實現方法進行了詳細描述.游戲在測試過程中將預處理、調試、發布等流程自動化,在模擬器上以及手機設備進行測試、運行,游戲原型操作便捷,主要功能完善,能夠適應Flash lite手機運行環境.

[1]劉孝安,黃亞平.基于Flash的幼兒益智游戲軟件設計與開發[J].中國教育信息,2011(8):74-76.

[2]薛俊彥,張際平.手機游戲在兒童教學中的應用與發展[J].電化教育研究,2006(8):59-61.

[3]冉利龍.基于Flash Lite的片段式移動學習資源設計研究[J].湖北廣播電視大學學報,2010,30(11):119-120.

[4]王珍珍,楊雪,傅鍵.基于Flash lite的移動學習資源開發研究[J].現代教育技術,2009,19(4):102-104.

[5]劉濤.手機動畫制作[M].北京:高等教育出版社,2008.

[6]陳焱,周瑩瑩,楊柏林.適用于移動設備的實時碰撞檢測算法[J].計算機工程,2010,36(6):273-275.

[7]譚云蘭,王生保,喻一凡,等.彈幕類游戲中快速碰撞檢測算法的設計與應用[J].井岡山大學學報:自然科學版,2010,31(6):82-85.

[8]王玥,呂天君.Flash游戲開發技術與實踐[M].北京:清華大學出版社,2013.

On the design of BrickBreaker puzzle game on mobile phone with Flash lite

WU Wei-xin,ZHUANG Yue-ping
(School of Education Science,Quanzhou Normal University,Quanzhou 362000,Fujian,China)

With the implementation of Flash technology on mobile device,the development of mobile phone games is speeded up as well as easier.This paper,based on the brief introduction to Flash lite technology,put forward a new design scheme.As an application,a mobile phone BrickBreaker is designed,and some key techniques are discussed which are used to fullfill the system.on the basis of building a sound game thinking, the game need to analyze the key issues and to use the key technology of functional modules.At the end, simulating the phone simulator tests is to facilitate the realization of inspection games.

Flash lite;mobile phone;BrickBreaker;puzzle game;collision detection

TP393.09

:A

:1007-5348(2014)08-0015-05

(責任編輯:歐 愷)

2014-04-01

福建省教育廳A類科技項目(JA12282);泉州市科技項目(2012Z123).

吳偉信(1977-),男,福建南安人,泉州師范學院教育科學學院副教授,碩士,主要從事網絡多媒體技術與網絡游戲教育軟件設計方面的研究.

猜你喜歡
方向游戲
2022年組稿方向
計算機應用(2022年2期)2022-03-01 12:33:42
2022年組稿方向
計算機應用(2022年1期)2022-02-26 06:57:42
2021年組稿方向
計算機應用(2021年4期)2021-04-20 14:06:36
2021年組稿方向
計算機應用(2021年3期)2021-03-18 13:44:48
2021年組稿方向
計算機應用(2021年1期)2021-01-21 03:22:38
游戲
數獨游戲
瘋狂的游戲
飛碟探索(2016年11期)2016-11-14 19:34:47
爆笑游戲
第八章直接逃出游戲
小學科學(2015年7期)2015-07-29 22:29:00
主站蜘蛛池模板: 国产高清不卡| 日本久久网站| 99热这里只有精品5| 国产在线拍偷自揄观看视频网站| 午夜无码一区二区三区在线app| 国产理论一区| 天堂在线视频精品| 中日韩一区二区三区中文免费视频| 久久精品人人做人人综合试看| 欧美日本中文| 国产成人凹凸视频在线| 人禽伦免费交视频网页播放| 国产一区二区丝袜高跟鞋| 亚洲欧洲自拍拍偷午夜色| 伊人五月丁香综合AⅤ| 无码中文AⅤ在线观看| 极品av一区二区| 亚洲欧州色色免费AV| 91九色国产porny| 黄色免费在线网址| 本亚洲精品网站| 中文字幕1区2区| 国产美女无遮挡免费视频网站| 国产乱子伦视频在线播放| 免费国产高清视频| 亚洲成年人网| 成人在线综合| 在线精品欧美日韩| 欧美一级高清免费a| 久久久国产精品无码专区| 亚洲天堂福利视频| 在线va视频| 中国一级特黄大片在线观看| 囯产av无码片毛片一级| 国产丝袜第一页| 男人天堂伊人网| 中文字幕欧美成人免费| 久热中文字幕在线| 一本一道波多野结衣一区二区 | 91成人在线观看视频| 国产国产人免费视频成18| 8090成人午夜精品| 91精品国产无线乱码在线| 国产精品妖精视频| 国产视频入口| 精品人妻无码中字系列| 国产特级毛片aaaaaaa高清| 国产欧美综合在线观看第七页| 亚洲欧美成人网| 国产原创演绎剧情有字幕的| 中国毛片网| 亚洲国产成人精品一二区| 国产丝袜精品| 国产精品分类视频分类一区| 一级毛片免费高清视频| 91口爆吞精国产对白第三集 | 欧美一区精品| 99久久婷婷国产综合精| 中国黄色一级视频| 精品三级网站| 4虎影视国产在线观看精品| 成人福利在线免费观看| 国产自视频| 国产呦精品一区二区三区下载| 久久精品国产免费观看频道| 女人爽到高潮免费视频大全| 色成人亚洲| 尤物视频一区| 正在播放久久| 欧美亚洲欧美区| 怡春院欧美一区二区三区免费| 欧美综合成人| 日本a级免费| 中文字幕佐山爱一区二区免费| 精品福利视频网| 色成人综合| 十八禁美女裸体网站| 爆乳熟妇一区二区三区| 制服丝袜 91视频| 综合色天天| 伊人久综合| 91青青在线视频|