欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

瘋狂ios講義之瘋狂打飛機(jī)(1)-創(chuàng)新互聯(lián)

瘋狂打飛機(jī)游戲

  本次我們將帶領(lǐng)大家手動完成一個簡單但功能完整的打飛機(jī)游戲,實現(xiàn)飛機(jī)飛行、飛機(jī)碰撞、發(fā)射×××、敵機(jī)發(fā)射大×××、背景音樂、×××音效、分?jǐn)?shù)統(tǒng)計、菜單管理等功能。它雖然不會為你贏得什么獎項,但是可以總結(jié)前面所學(xué)的所有知識,幫助大家更好地掌握cocos2d基本對象的使用,同時體驗cocos2d的強(qiáng)大以及易用性。

成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供固安網(wǎng)站建設(shè)、固安做網(wǎng)站、固安網(wǎng)站設(shè)計、固安網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、固安企業(yè)網(wǎng)站模板建站服務(wù),十多年固安做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

1開始前的準(zhǔn)備工作

首先打開Xcode,使用cocos2d iOS模板新建一個項目,命名為“AirfightGame”,然后選擇一個目錄,單擊“Create”按鈕。為cocos2d項目的源代碼添加-fno-objc-arc選項讓項目支持ARC。

接下來,將所需要的資源文件,包括圖片和聲音拖到項目的“Resources”組。在游戲開發(fā)當(dāng)中,通常都會使用精靈表單來優(yōu)化游戲性能,在這個小游戲當(dāng)中,雖然這種性能優(yōu)化并不會有特別明顯的效果,但是建議大家以后開發(fā)游戲時都使用精靈表單來提高游戲性能。使用Zwoptex將所有圖片制作成精靈表單,生成對應(yīng)的airfightSheet.png和airfightSheet.plist文件,并將這兩個文件拖到項目的“Resources”組。

2添加游戲菜單項功能

現(xiàn)在,我們來為游戲添加一個菜單設(shè)置功能,在這里可以完成開始游戲、游戲設(shè)置、退出游戲等操作。步驟如下。

①選擇“AirfightGame”組并單擊右鍵,選擇“New File”,在左邊欄中選擇“cocos2d v2.x”模板,在右邊的模板類中選擇“CCNode class”模板類,“Subclass of”選擇“CCLayer”,然后單擊“Next”按鈕。命名為“MenuLayer”,然后單擊“Create”按鈕。

MenuLayer繼承自CCLayer,提供一個類方法scene供CCDirector對象調(diào)用。該類的作用是顯示一個菜單場景,讓用戶選擇。

打開MenuLayer.m文件,實現(xiàn)代碼如下。

程序清單:codes/13/13.14/AirfightGame/AirfightGame/MenuLayer.m

-(id) init
{
    if( (self=[super init]) ) {
        CGSize winSize = [[CCDirector sharedDirector] winSize];
        // 創(chuàng)建“開始游戲”標(biāo)簽,當(dāng)觸碰該標(biāo)簽時,調(diào)用startGame:方法
        CCMenuItemFont* startItem = [CCMenuItemFont itemWithString:@"開始游戲"
            target:self selector:@selector(startGame:)];
        startItem.position=ccp(winSize.width/2, winSize.height*0.6);
        // 創(chuàng)建“游戲設(shè)置”標(biāo)簽,當(dāng)觸碰該標(biāo)簽時,調(diào)用setting:方法
        CCMenuItemFont* settingItem = [CCMenuItemFont itemWithString:@"游戲設(shè)置"
            target:self selector:@selector(setting:)];
        // 設(shè)置“游戲設(shè)置”標(biāo)簽位置
        settingItem.position=ccp(winSize.width/2, winSize.height*0.4);
        // 創(chuàng)建控制菜單,并將兩個標(biāo)簽添加進(jìn)去
        CCMenu* menu = [CCMenu menuWithItems:startItem,settingItem, nil];
        menu.position = CGPointZero;
        [self addChild:menu];
    }
    return self;
}

init方法比較簡單,創(chuàng)建了兩個CCMenuItemFont,選擇標(biāo)簽時會調(diào)用對應(yīng)的startGame:和setting:方法,并將它們添加到CCMenu當(dāng)中,再將CCMenu添加為當(dāng)前層的子節(jié)點(diǎn)。

②添加startGame:和setting:兩個方法,實現(xiàn)代碼如下(程序清單同上):

-(void) startGame:(id)sender{
    // 切換到PreloadLayer場景
    CCTransitionSlideInL* transitionScene = [CCTransitionSlideInL
        transitionWithDuration:2.0 scene:[PreloadLayer scene]];
    [[CCDirector sharedDirector] replaceScene:transitionScene];
}

startGame:方法非常簡單,當(dāng)用戶選擇“開始游戲”標(biāo)簽時,場景切換到PreloadLayer,在下一節(jié)中將重點(diǎn)介紹PreloadLayer(程序清單同上)。

-(void) setting:(id)sender{
    // 切換到SettingLayer場景
    CCTransitionSlideInL* transitionScene = [CCTransitionSlideInL
        transitionWithDuration:2.0 scene:[SettingLayer scene]];
    [[CCDirector sharedDirector] replaceScene:transitionScene];
}

當(dāng)用戶選擇“游戲設(shè)置”標(biāo)簽時,場景切換到SettingLayer,進(jìn)行游戲設(shè)置。

③同上面的步驟一樣,使用“cocos2d v2.x”模板創(chuàng)建一個類并命名為“SettingLayer”,繼承自CCLayer。該類的實現(xiàn)代碼如下。

程序清單:codes/13/13.14/AirfightGame/AirfightGame/SettingLayer.m

-(id) init
{
    if( (self=[super init]) ) {
        CGSize winSize = [[CCDirector sharedDirector] winSize];
        // 提示菜單項
        CCMenuItemFont* musicItem = [CCMenuItemFont itemWithString:@"背景音樂:"];
        musicItem.position = ccp(winSize.width*0.4, winSize.height*0.6);
        // 創(chuàng)建“開”和“關(guān)”菜單項
        CCMenuItemFont* musicOn = [CCMenuItemFont itemWithString:@"開"];
        CCMenuItemFont* musicOff = [CCMenuItemFont itemWithString:@"關(guān)"];
        // CCMenuItemToggle,默認(rèn)顯示“開”。開=0,關(guān)=1
        CCMenuItemToggle* musicToggle = [CCMenuItemToggle itemWithTarget:self
            selector:@selector(change:) items:musicOff,musicOn, nil];
        musicToggle.position = ccp(winSize.width*0.6, winSize.height*0.6);
        // 創(chuàng)建“返回主菜單“菜單項
        CCMenuItemFont* returnItem = [CCMenuItemFont itemWithString:@"返回主菜單"
            target:self selector:@selector(backToMainLayer:)];
        returnItem.position = ccp(winSize.width/2, winSize.height*0.4);
        // 創(chuàng)建控制菜單,并將3個標(biāo)簽添加進(jìn)去
        CCMenu* menu = [CCMenu menuWithItems:musicItem,musicToggle,returnItem, nil];
        menu.position = CGPointZero;
        [self addChild:menu];
        // NSUserDefaults用戶選項可以用來保存用戶在操作應(yīng)用的過程中設(shè)置的選項。
        NSUserDefaults* userDef = [NSUserDefaults standardUserDefaults];
        // 如果Bool為No,則顯示1=關(guān)
        if(![userDef boolForKey:@"music"]){
            musicToggle.selectedIndex = 1;
        }
    }
    return self;
}
-(void) change:(id)sender{
    // 判斷mute(靜音)屬性,根據(jù)屬性狀態(tài)進(jìn)行切換
    if([CDAudioManager sharedManager].mute == TRUE){
        [CDAudioManager sharedManager].mute = FALSE;
    }else{
        [CDAudioManager sharedManager].mute = TRUE;
    }
    NSUserDefaults* userDef = [NSUserDefaults standardUserDefaults];
    CCMenuItemToggle* tooggle = (CCMenuItemToggle*)sender;
    // 關(guān)=1,設(shè)置Bool為NO
    if(tooggle.selectedIndex == 1){
        [userDef setBool:NO forKey:@"music"];
    }else{
        [userDef setBool:YES forKey:@"music"];
    }
}
// 定義一個CCTransitionSlideInL場景切換效果,并使用CCDirector單例對象來切換場景
-(void) backToMainLayer:(id)sender{
    CCTransitionSlideInL* transitionScene =
        [CCTransitionSlideInL transitionWithDuration:2.0 scene:[MenuLayer scene]];
    [[CCDirector sharedDirector] replaceScene:transitionScene];
}

SettingLayer類代碼在13.13.2節(jié)中已經(jīng)詳細(xì)介紹過,這里不再贅述。

④修改IntroLayer.m文件

IntroLayer默認(rèn)加載HelloWorldLayer,但此時我們不再使用HelloWorldLayer作為應(yīng)用的第一個場景,而是使用MenuLayer作為應(yīng)用的第一個場景,因此需要修改IntroLayer,將IntroLayer改為加載MenuLayer場景修改如下。

在IntroLayer.m文件的頂部添加所包含的頭文件:

#import "MenuLayer.h"

修改-(void) makeTransition:(ccTime)dt方法,將該方法改成下面的代碼。

程序清單:codes/13/13.14/AirfightGame/AirfightGame/IntroLayer.m

-(void) makeTransition:(ccTime)dt
{
    [[CCDirector sharedDirector] replaceScene:
        [CCTransitionFade transitionWithDuration:1.0
        scene:[MenuLayer scene] withColor:ccWHITE]];
}

ios講義之瘋狂打飛機(jī)(1)

瘋狂打飛機(jī)游戲

  本次我們將帶領(lǐng)大家手動完成一個簡單但功能完整的打飛機(jī)游戲,實現(xiàn)飛機(jī)飛行、飛機(jī)碰撞、發(fā)射×××、敵機(jī)發(fā)射大×××、背景音樂、×××音效、分?jǐn)?shù)統(tǒng)計、菜單管理等功能。它雖然不會為你贏得什么獎項,但是可以總結(jié)前面所學(xué)的所有知識,幫助大家更好地掌握cocos2d基本對象的使用,同時體驗cocos2d的強(qiáng)大以及易用性。

1開始前的準(zhǔn)備工作

首先打開Xcode,使用cocos2d iOS模板新建一個項目,命名為“AirfightGame”,然后選擇一個目錄,單擊“Create”按鈕。為cocos2d項目的源代碼添加-fno-objc-arc選項讓項目支持ARC。

接下來,將所需要的資源文件,包括圖片和聲音拖到項目的“Resources”組。在游戲開發(fā)當(dāng)中,通常都會使用精靈表單來優(yōu)化游戲性能,在這個小游戲當(dāng)中,雖然這種性能優(yōu)化并不會有特別明顯的效果,但是建議大家以后開發(fā)游戲時都使用精靈表單來提高游戲性能。使用Zwoptex將所有圖片制作成精靈表單,生成對應(yīng)的airfightSheet.png和airfightSheet.plist文件,并將這兩個文件拖到項目的“Resources”組。

2添加游戲菜單項功能

現(xiàn)在,我們來為游戲添加一個菜單設(shè)置功能,在這里可以完成開始游戲、游戲設(shè)置、退出游戲等操作。步驟如下。

①選擇“AirfightGame”組并單擊右鍵,選擇“New File”,在左邊欄中選擇“cocos2d v2.x”模板,在右邊的模板類中選擇“CCNode class”模板類,“Subclass of”選擇“CCLayer”,然后單擊“Next”按鈕。命名為“MenuLayer”,然后單擊“Create”按鈕。

MenuLayer繼承自CCLayer,提供一個類方法scene供CCDirector對象調(diào)用。該類的作用是顯示一個菜單場景,讓用戶選擇。

打開MenuLayer.m文件,實現(xiàn)代碼如下。

程序清單:codes/13/13.14/AirfightGame/AirfightGame/MenuLayer.m

01-(id) init

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

當(dāng)前題目:瘋狂ios講義之瘋狂打飛機(jī)(1)-創(chuàng)新互聯(lián)
文章地址:http://aaarwkj.com/article28/dedccp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、品牌網(wǎng)站設(shè)計、網(wǎng)站維護(hù)、網(wǎng)頁設(shè)計公司、App開發(fā)網(wǎng)站設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)
亚洲一区二区三区免费观看视频| 欧美日韩国产av一区| 一区二区不卡日韩av| 亚洲中文字幕一二区日韩| 青青草原三区在线播放| 日韩有码一区在线观看| 中国一级黄片免费欧美| 亚洲偷拍自拍在线观看| 91综合午夜精品福利| 久久中文字幕人妻熟av| 国产美女主播视频一区二区三区| 精品国产av一区二区三广区| 日本国产一区二区三区在线| 日韩有码中文字幕一区| 性感91美女白丝在线精品| 亚洲成人精品免费观看| 国产一区二区毛多内射| 大陆av剧情网站在线观看| 中国吞精囗交免费视频| 97碰碰视频在线观看| 美女露脸口爆吞精视频| 国产性做爰片免费视频| 国产国产乱老熟视频网站| 亚洲综合欧美日韩一区 | 中午字幕人妻少妇久久| 国产男女视频免费观看| 日韩精品熟女中文字幕| 亚洲欧美一区二区国产| 亚洲性图中文字幕在线| 日韩高清一级黄色大片网站| 国产精品区一区二区三区| 精品少妇人妻av不卡久久| 麻豆AV一区二区三区久久| 久久五十路六十路熟妇中出| 国产精品线路一线路三| 亚洲一区二区三区小蜜桃| 国产麻豆91在线视频| 国产欧美成人精品第一区| 日本人妻久久中文字幕| 久久中文字幕人妻熟av| 亚洲欧洲日韩综合另类|