學習cocos2d---場景創(chuàng)建-創(chuàng)新互聯(lián)

在我們創(chuàng)建一個cocos-2d模板之后,系統(tǒng)自動生成一個場景Demo,運行結果顯示HelloWord

創(chuàng)新互聯(lián)公司專注于梨樹網(wǎng)站建設服務及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供梨樹營銷型網(wǎng)站建設,梨樹網(wǎng)站制作、梨樹網(wǎng)頁設計、梨樹網(wǎng)站官網(wǎng)定制、重慶小程序開發(fā)公司服務,打造梨樹網(wǎng)絡公司原創(chuàng)品牌,更為您提供梨樹網(wǎng)站排名全網(wǎng)營銷落地服務。

創(chuàng)建一個cocos2d ios工程

學習cocos2d  ---  場景創(chuàng)建

運行結果,我們點擊Achievments  和 LeaderBoard 會分別跳轉到其他場景

學習cocos2d  ---  場景創(chuàng)建

學習cocos2d  ---  場景創(chuàng)建

學習cocos2d  ---  場景創(chuàng)建

創(chuàng)建工程里面目錄結構

學習cocos2d  ---  場景創(chuàng)建

上面的六個.h和.m文件如果需要實現(xiàn)某功能是需要開發(fā)者在里面編輯代碼的,Resouces文件夾用于存放圖片,聲音文件文字文件plist文件等文件,這樣組織便于我們進行管理工程里面文件;libs下的文件就是cocos2d引擎了,存放的是源文件,因為它屬于開源,所以可以看到他底層實現(xiàn)原理;還有常用的framework框架

生成的第一個HelloWord代碼實現(xiàn)全都在HelloWorldLayer.h HelloWorldLayer.h和HelloWorldLayer.m文件中-(id)initf方法中,貼上他的源代碼

// on "init" you need to initialize your instance -(id) init { 	// always call "super" init 	// Apple recommends to re-assign "self" with the "super's" return value 	if( (self=[super init]) ) { 		 		// create and initialize a Label 		CCLabelTTF *label = [CCLabelTTF labelWithString:@"Hello World" fontName:@"Marker Felt" fontSize:64];  		// ask director for the window size 		CGSize size = [[CCDirector sharedDirector] winSize]; 	 		// position the label on the center of the screen 		label.position =  ccp( size.width /2 , size.height/2 ); 		 		// add the label as a child to this Layer 		[self addChild: label]; 		 		 		 		// 		// Leaderboards and Achievements 		// 		 		// Default font size will be 28 points. 		[CCMenuItemFont setFontSize:28]; 		 		// Achievement Menu Item using blocks 		CCMenuItem *itemAchievement = [CCMenuItemFont itemWithString:@"Achievements" block:^(id sender) { 			 			 			GKAchievementViewController *achivementViewController = [[GKAchievementViewController alloc] init]; 			achivementViewController.achievementDelegate = self; 			 			AppController *app = (AppController*) [[UIApplication sharedApplication] delegate]; 			 			[[app navController] presentModalViewController:achivementViewController animated:YES]; 			 			[achivementViewController release]; 		} 									   ];  		// Leaderboard Menu Item using blocks 		CCMenuItem *itemLeaderboard = [CCMenuItemFont itemWithString:@"Leaderboard" block:^(id sender) { 			 			 			GKLeaderboardViewController *leaderboardViewController = [[GKLeaderboardViewController alloc] init]; 			leaderboardViewController.leaderboardDelegate = self; 			 			AppController *app = (AppController*) [[UIApplication sharedApplication] delegate]; 			 			[[app navController] presentModalViewController:leaderboardViewController animated:YES]; 			 			[leaderboardViewController release]; 		} 									   ]; 		 		CCMenu *menu = [CCMenu menuWithItems:itemAchievement, itemLeaderboard, nil]; 		 		[menu alignItemsHorizontallyWithPadding:20]; 		[menu setPosition:ccp( size.width/2, size.height/2 - 50)]; 		 		// Add the menu to the layer 		[self addChild:menu];  	} 	return self; }

剛開始接觸,里面很多類都不知道,但是能看懂大部分代碼作用,工程里面自動添加有句釋,又容易理解些

現(xiàn)在我們創(chuàng)建一個自己的場景,

在cocos-2d_2文件下右鍵,選擇New File

   學習cocos2d  ---  場景創(chuàng)建

出現(xiàn)CCNode Class ,

 學習cocos2d  ---  場景創(chuàng)建

點擊Next,選擇Subclass of  CCLayer,在Next,新建文件名為MyScenen

學習cocos2d  ---  場景創(chuàng)建 

在Myscene.h里面添加

+(CCScene *) scene;方法,在MyScene.m實現(xiàn)

+(CCScene *)scene { //    +(id)node 靜態(tài)初始化     CCScene *scene = [CCScene node];     MyScene *layer = [MyScene node];      //    把MyScene對象layer添加到CCScene對象中     [scene addChild:layer];      //    把CCScene對象返回給調(diào)用者     return scene; }


再到IntroLayer.h文件中添加頭文件,在IntrolLayer.m中最后面修改一個方法  -(void) makeTransition:(ccTime)dt  ,把HelloWorldLayer替換成MyScene

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

此時我們可以刪除HelloWirldLayer文件運行結果是一個黑屏,因為在場景中我們沒有添加任何東西,

學習cocos2d  ---  場景創(chuàng)建

現(xiàn)在在場景上添加一個Label

-(id) init { 	 	if( (self=[super init]) ) { 		 		// 創(chuàng)建一個標簽,設置字體樣式和大小 		CCLabelTTF *label = [CCLabelTTF labelWithString:@"創(chuàng)建一個標簽" fontName:@"Marker Felt" fontSize:64];          		// 獲取主窗口大小 		CGSize size = [[CCDirector sharedDirector] winSize];          		// 設置標簽的場景位置 		label.position =  ccp( size.width /2 , size.height/2 ); 		 		// 把標簽添加到這個 		[self addChild: label];              }          return  self; }

運行效果

學習cocos2d  ---  場景創(chuàng)建


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

網(wǎng)頁題目:學習cocos2d---場景創(chuàng)建-創(chuàng)新互聯(lián)
當前鏈接:http://bm7419.com/article8/dsdeip.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、營銷型網(wǎng)站建設、建站公司ChatGPT、域名注冊、品牌網(wǎng)站建設

廣告

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

成都做網(wǎng)站