• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于IOS平臺(tái)塔防游戲的設(shè)計(jì)與實(shí)現(xiàn)

      2014-09-24 12:14:29王海南邵國強(qiáng)介龍梅
      軟件工程 2014年6期

      王海南+邵國強(qiáng)+介龍梅

      摘 要:目前隨著我國3G網(wǎng)絡(luò)的快速發(fā)展,智能手機(jī)的市場(chǎng)也日益擴(kuò)大,其中最受歡迎的莫過于蘋果公司生產(chǎn)的iPhone手機(jī)。本文介紹基于IOS平臺(tái)的擁有良好操作性及娛樂性的小型塔防游戲開發(fā)過程。該游戲是運(yùn)用Cocos2d引擎以及Xcode進(jìn)行開發(fā)的,不僅實(shí)現(xiàn)了塔防游戲的基本對(duì)戰(zhàn)功能,還增添了場(chǎng)景選擇,音效設(shè)置等功能,游戲界面唯美,動(dòng)畫效果精彩,為手機(jī)游戲開發(fā)提供了參考。

      關(guān)鍵詞:IOS平臺(tái);塔防游戲;Cocos2d引擎

      中圖分類號(hào):TP393.02 文獻(xiàn)標(biāo)識(shí)碼:A

      The Design and Implementation of Tower and Defense Game Based IOS

      WANG Hainan1,SHAO Guoqiang2,JIE Longmei2

      (1.Fine Arts Academy,Northeast Normal University,Changchun 130024,China;

      2.Computer Science & Information Technology Collage,Daqing Normal University,Daqing 163712,China)

      Abstract:At present,with the rapid development of 3G network in China,intelligent mobile phone market is growing gradually.One of the most popular is iPhone produced by Apple Corporation.In the paper,it introduce you the procedure that how a good operability and entertaining small tower defense game based on IOS platform is developed.The game program is developed by Cocos2d engine and the Xcode tools. It not only impliments the basic attack-defence functions of tower defense game, but also provides scene selection,sound settings,etc.The game is of beautiful interface and wonderful animation effect.It can be inferenced by other mobile game developer.

      Keywords:the IOS platform;tower defense game;the cocos2d engine

      1 引言(Introduction)

      隨著3G的網(wǎng)絡(luò)技術(shù)的普及,手機(jī)游戲成為軟件開發(fā)的一個(gè)重要方向。蘋果公司生產(chǎn)的iPhone手機(jī),憑借其獨(dú)特的外表、強(qiáng)大的硬件環(huán)境以及App Store上提供的高效的軟件受到了人們的好評(píng)[1]。

      塔防游戲是一款經(jīng)典的益智類游戲。塔防游戲的模式為堵怪模式,一張作戰(zhàn)地圖,讓怪獸按照你設(shè)定的路線來回移動(dòng),讓炮塔按照你設(shè)定的位置進(jìn)行創(chuàng)建,并且可以通過使用特效技能,以便于炮塔不斷的轟擊怪獸,從而獲得游戲的勝利[2]。

      2 系統(tǒng)分析(System analysis)

      玩家和游戲系統(tǒng)形成的業(yè)務(wù)流程如圖1所示。

      圖1 游戲業(yè)務(wù)流程圖

      Fig.1 The business flow chart of the game

      3 游戲總體設(shè)計(jì)(The overall design of the game)

      3.1 游戲主流程設(shè)計(jì)

      游戲按照以下流程進(jìn)行設(shè)計(jì),如圖2所示。

      圖2 游戲主流程圖

      Fig.2 The main flow chart of the game

      3.2 怪物流程圖設(shè)計(jì)

      根據(jù)需求分析,游戲會(huì)根據(jù)不同的場(chǎng)景不同的地圖,設(shè)置怪物的行走路線。倘若怪物在規(guī)定的路線上移動(dòng)時(shí),進(jìn)入到炮塔的攻擊范圍內(nèi),怪物被攻擊后血條會(huì)逐漸減少,當(dāng)血量減到0時(shí),怪物移除游戲場(chǎng)景。倘若怪物攻入城堡,玩家的塔則會(huì)相應(yīng)地減少生命值。

      3.3 炮塔流程圖設(shè)計(jì)

      玩家在金幣足夠的情況下,點(diǎn)擊拖動(dòng)不同價(jià)格的炮塔,然后在地圖上選取一個(gè)地方釋放鼠標(biāo),假如這個(gè)地方可以放置炮塔,則炮塔會(huì)出現(xiàn)在這一位置。反之,該地會(huì)提示不允許放置炮塔。建造好的炮塔會(huì)攻擊進(jìn)入其設(shè)定的攻擊范圍內(nèi)的怪物。

      4 系統(tǒng)實(shí)現(xiàn)(System implementation)

      系統(tǒng)實(shí)現(xiàn)是基于Cocos2d引擎的,該引擎具有功強(qiáng)大能、快速入門、效果上佳的特點(diǎn),是IOS游戲開發(fā)者的首選[3,4]。

      4.1 打怪的實(shí)現(xiàn)

      游戲中最難實(shí)現(xiàn)的為打怪功能。要設(shè)定一個(gè)計(jì)時(shí)器,隨時(shí)判斷塔和怪物之間的距離,以確定塔向著什么方向進(jìn)行攻擊。在此游戲中,是以坐標(biāo)系的方法來判斷塔的攻擊方向的[5]。核心實(shí)現(xiàn)代碼如下:

      float dx = enemy.position.x - self.position.x;

      float dy = enemy.position.y - self.position.y;

      NSString *s = [[[NSString alloc] init] autorelease];endprint

      if (dx < 0 && dy < 0) {

      if (-dx > -dy) {

      s = @"l";

      }else if (-dx < -dy){

      s = @"d";

      }

      }else if (dx < 0 && dy > 0) {

      if (-dx > dy) {

      s = @"l";

      }else if (-dx < dy) {

      s = @"u";

      }

      }else if (dx > 0 && dy > 0) {

      if (dx > dy) {

      s = @"r";

      }else if (dx < dy) {

      s = @"u";

      }

      }else if (dx > 0 && dy < 0) {

      if (dx > -dy) {

      s = @"r";

      }else if (dx < -dy) {

      s = @"d";

      }

      }

      NSMutableArray *monsterArray = [[[NSMutableArray alloc] init] autorelease];

      for (int i = 0; i < 8; i++) {

      NSString *monsterName = [NSString stringWithFormat:@"%@%@%d.png",name,s,i];

      CCSpriteFrame *oneMonster = [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:monsterName];

      [monsterArray addObject:oneMonster];

      4.2 粒子特效頁面

      進(jìn)入游戲前,會(huì)顯示粒子特效界面。實(shí)現(xiàn)粒子特效的核心代碼:

      CCParticleSystem *lizi = [[ARCH_OPTIMAL_PARTICLE_SYSTEM alloc] initWithFile:@"lingxiaohuo.plist"];

      lizi.autoRemoveOnFinish=NO;

      lizi.positionType = kCCPositionTypeRelative;

      [self addChild:lizi];

      [lizi release];

      通過粒子編輯器,選取合適的粒子特效,生成plist文件,輸入這段代碼即可實(shí)現(xiàn)。

      5 結(jié)論(Conclusion)

      經(jīng)過詳細(xì)測(cè)試,系統(tǒng)穩(wěn)定、流暢,用戶體驗(yàn)效果好,游戲界面美觀?;贗OS的塔防游戲是一款經(jīng)典的游戲,用到了包括粒子、菜單、技能條、塔、怪物等核心對(duì)象的實(shí)現(xiàn),系統(tǒng)流程較復(fù)雜,對(duì)未來的更加龐大的手機(jī)軟件開發(fā)有所幫助。

      參考文獻(xiàn)(References)

      [1] 王章靜.IOS環(huán)境下塔防游戲?qū)崿F(xiàn)[J].價(jià)值工程,2012,(32):194-

      197.

      [2] 弋榮靜,王振凱.基于iOS平臺(tái)的雜志閱讀軟件的設(shè)計(jì)與實(shí)現(xiàn)

      [J].軟件,2012,(32):31-37.

      [3] 安毅生,劉衛(wèi)方.基于Cocos2D框架的交互式迷宮游戲設(shè)計(jì)

      與實(shí)現(xiàn)[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2011(12):154-158.

      [4] 邢芳,張小欽.基于Cocos2d-x的三消類游戲的設(shè)計(jì)[J].科技廣

      場(chǎng),2013(5):113-115.

      [5] 劉婷婷.游戲中怪物人工智能的實(shí)現(xiàn)[J].數(shù)字技術(shù)與應(yīng)用,

      2012(4):200-202.

      作者簡(jiǎn)介:

      王海泉(1967-),男,碩士,工程師.研究領(lǐng)域:計(jì)算機(jī)硬件和

      數(shù)據(jù)庫技術(shù).

      邵國強(qiáng)(1981-),男,碩士,講師.研究領(lǐng)域:3G和軟件系統(tǒng)

      研發(fā).

      介龍梅(1975-),女,碩士,講師.研究領(lǐng)域:計(jì)算機(jī)網(wǎng)絡(luò)與通

      信,人工智能.endprint

      if (dx < 0 && dy < 0) {

      if (-dx > -dy) {

      s = @"l";

      }else if (-dx < -dy){

      s = @"d";

      }

      }else if (dx < 0 && dy > 0) {

      if (-dx > dy) {

      s = @"l";

      }else if (-dx < dy) {

      s = @"u";

      }

      }else if (dx > 0 && dy > 0) {

      if (dx > dy) {

      s = @"r";

      }else if (dx < dy) {

      s = @"u";

      }

      }else if (dx > 0 && dy < 0) {

      if (dx > -dy) {

      s = @"r";

      }else if (dx < -dy) {

      s = @"d";

      }

      }

      NSMutableArray *monsterArray = [[[NSMutableArray alloc] init] autorelease];

      for (int i = 0; i < 8; i++) {

      NSString *monsterName = [NSString stringWithFormat:@"%@%@%d.png",name,s,i];

      CCSpriteFrame *oneMonster = [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:monsterName];

      [monsterArray addObject:oneMonster];

      4.2 粒子特效頁面

      進(jìn)入游戲前,會(huì)顯示粒子特效界面。實(shí)現(xiàn)粒子特效的核心代碼:

      CCParticleSystem *lizi = [[ARCH_OPTIMAL_PARTICLE_SYSTEM alloc] initWithFile:@"lingxiaohuo.plist"];

      lizi.autoRemoveOnFinish=NO;

      lizi.positionType = kCCPositionTypeRelative;

      [self addChild:lizi];

      [lizi release];

      通過粒子編輯器,選取合適的粒子特效,生成plist文件,輸入這段代碼即可實(shí)現(xiàn)。

      5 結(jié)論(Conclusion)

      經(jīng)過詳細(xì)測(cè)試,系統(tǒng)穩(wěn)定、流暢,用戶體驗(yàn)效果好,游戲界面美觀?;贗OS的塔防游戲是一款經(jīng)典的游戲,用到了包括粒子、菜單、技能條、塔、怪物等核心對(duì)象的實(shí)現(xiàn),系統(tǒng)流程較復(fù)雜,對(duì)未來的更加龐大的手機(jī)軟件開發(fā)有所幫助。

      參考文獻(xiàn)(References)

      [1] 王章靜.IOS環(huán)境下塔防游戲?qū)崿F(xiàn)[J].價(jià)值工程,2012,(32):194-

      197.

      [2] 弋榮靜,王振凱.基于iOS平臺(tái)的雜志閱讀軟件的設(shè)計(jì)與實(shí)現(xiàn)

      [J].軟件,2012,(32):31-37.

      [3] 安毅生,劉衛(wèi)方.基于Cocos2D框架的交互式迷宮游戲設(shè)計(jì)

      與實(shí)現(xiàn)[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2011(12):154-158.

      [4] 邢芳,張小欽.基于Cocos2d-x的三消類游戲的設(shè)計(jì)[J].科技廣

      場(chǎng),2013(5):113-115.

      [5] 劉婷婷.游戲中怪物人工智能的實(shí)現(xiàn)[J].數(shù)字技術(shù)與應(yīng)用,

      2012(4):200-202.

      作者簡(jiǎn)介:

      王海泉(1967-),男,碩士,工程師.研究領(lǐng)域:計(jì)算機(jī)硬件和

      數(shù)據(jù)庫技術(shù).

      邵國強(qiáng)(1981-),男,碩士,講師.研究領(lǐng)域:3G和軟件系統(tǒng)

      研發(fā).

      介龍梅(1975-),女,碩士,講師.研究領(lǐng)域:計(jì)算機(jī)網(wǎng)絡(luò)與通

      信,人工智能.endprint

      if (dx < 0 && dy < 0) {

      if (-dx > -dy) {

      s = @"l";

      }else if (-dx < -dy){

      s = @"d";

      }

      }else if (dx < 0 && dy > 0) {

      if (-dx > dy) {

      s = @"l";

      }else if (-dx < dy) {

      s = @"u";

      }

      }else if (dx > 0 && dy > 0) {

      if (dx > dy) {

      s = @"r";

      }else if (dx < dy) {

      s = @"u";

      }

      }else if (dx > 0 && dy < 0) {

      if (dx > -dy) {

      s = @"r";

      }else if (dx < -dy) {

      s = @"d";

      }

      }

      NSMutableArray *monsterArray = [[[NSMutableArray alloc] init] autorelease];

      for (int i = 0; i < 8; i++) {

      NSString *monsterName = [NSString stringWithFormat:@"%@%@%d.png",name,s,i];

      CCSpriteFrame *oneMonster = [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:monsterName];

      [monsterArray addObject:oneMonster];

      4.2 粒子特效頁面

      進(jìn)入游戲前,會(huì)顯示粒子特效界面。實(shí)現(xiàn)粒子特效的核心代碼:

      CCParticleSystem *lizi = [[ARCH_OPTIMAL_PARTICLE_SYSTEM alloc] initWithFile:@"lingxiaohuo.plist"];

      lizi.autoRemoveOnFinish=NO;

      lizi.positionType = kCCPositionTypeRelative;

      [self addChild:lizi];

      [lizi release];

      通過粒子編輯器,選取合適的粒子特效,生成plist文件,輸入這段代碼即可實(shí)現(xiàn)。

      5 結(jié)論(Conclusion)

      經(jīng)過詳細(xì)測(cè)試,系統(tǒng)穩(wěn)定、流暢,用戶體驗(yàn)效果好,游戲界面美觀?;贗OS的塔防游戲是一款經(jīng)典的游戲,用到了包括粒子、菜單、技能條、塔、怪物等核心對(duì)象的實(shí)現(xiàn),系統(tǒng)流程較復(fù)雜,對(duì)未來的更加龐大的手機(jī)軟件開發(fā)有所幫助。

      參考文獻(xiàn)(References)

      [1] 王章靜.IOS環(huán)境下塔防游戲?qū)崿F(xiàn)[J].價(jià)值工程,2012,(32):194-

      197.

      [2] 弋榮靜,王振凱.基于iOS平臺(tái)的雜志閱讀軟件的設(shè)計(jì)與實(shí)現(xiàn)

      [J].軟件,2012,(32):31-37.

      [3] 安毅生,劉衛(wèi)方.基于Cocos2D框架的交互式迷宮游戲設(shè)計(jì)

      與實(shí)現(xiàn)[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2011(12):154-158.

      [4] 邢芳,張小欽.基于Cocos2d-x的三消類游戲的設(shè)計(jì)[J].科技廣

      場(chǎng),2013(5):113-115.

      [5] 劉婷婷.游戲中怪物人工智能的實(shí)現(xiàn)[J].數(shù)字技術(shù)與應(yīng)用,

      2012(4):200-202.

      作者簡(jiǎn)介:

      王海泉(1967-),男,碩士,工程師.研究領(lǐng)域:計(jì)算機(jī)硬件和

      數(shù)據(jù)庫技術(shù).

      邵國強(qiáng)(1981-),男,碩士,講師.研究領(lǐng)域:3G和軟件系統(tǒng)

      研發(fā).

      介龍梅(1975-),女,碩士,講師.研究領(lǐng)域:計(jì)算機(jī)網(wǎng)絡(luò)與通

      信,人工智能.endprint

      乌拉特前旗| 静宁县| 黄平县| 六安市| 曲靖市| 天等县| 常州市| 来凤县| 蚌埠市| 榕江县| 昭平县| 宜城市| 清水河县| 大竹县| 大庆市| 新泰市| 南开区| 虞城县| 维西| 浙江省| 诸暨市| 萍乡市| 信丰县| 鹤峰县| 二连浩特市| 镇沅| 瓦房店市| 北海市| 德钦县| 育儿| 临海市| 洪湖市| 汉寿县| 娄底市| 玉树县| 和田市| 基隆市| 仁布县| 广西| 绥滨县| 奈曼旗|