在我們創建一個cocos-2d模板之后,系統自動生成一個場景Demo,運行結果顯示HelloWord
創新互聯公司專注于梨樹網站建設服務及定制,我們擁有豐富的企業做網站經驗。 熱誠為您提供梨樹營銷型網站建設,梨樹網站制作、梨樹網頁設計、梨樹網站官網定制、重慶小程序開發公司服務,打造梨樹網絡公司原創品牌,更為您提供梨樹網站排名全網營銷落地服務。創建一個cocos2d ios工程
運行結果,我們點擊Achievments 和 LeaderBoard 會分別跳轉到其他場景
創建工程里面目錄結構
上面的六個.h和.m文件如果需要實現某功能是需要開發者在里面編輯代碼的,Resouces文件夾用于存放圖片,聲音文件文字文件plist文件等文件,這樣組織便于我們進行管理工程里面文件;libs下的文件就是cocos2d引擎了,存放的是源文件,因為它屬于開源,所以可以看到他底層實現原理;還有常用的framework框架
生成的第一個HelloWord代碼實現全都在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; }
剛開始接觸,里面很多類都不知道,但是能看懂大部分代碼作用,工程里面自動添加有句釋,又容易理解些
現在我們創建一個自己的場景,
在cocos-2d_2文件下右鍵,選擇New File
出現CCNode Class ,
點擊Next,選擇Subclass of CCLayer,在Next,新建文件名為MyScenen
在Myscene.h里面添加
+(CCScene *) scene;方法,在MyScene.m實現
+(CCScene *)scene { // +(id)node 靜態初始化 CCScene *scene = [CCScene node]; MyScene *layer = [MyScene node]; // 把MyScene對象layer添加到CCScene對象中 [scene addChild:layer]; // 把CCScene對象返回給調用者 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]]; }
現在在場景上添加一個Label
-(id) init { if( (self=[super init]) ) { // 創建一個標簽,設置字體樣式和大小 CCLabelTTF *label = [CCLabelTTF labelWithString:@"創建一個標簽" fontName:@"Marker Felt" fontSize:64]; // 獲取主窗口大小 CGSize size = [[CCDirector sharedDirector] winSize]; // 設置標簽的場景位置 label.position = ccp( size.width /2 , size.height/2 ); // 把標簽添加到這個 [self addChild: label]; } return self; }
運行效果
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
網頁題目:學習cocos2d---場景創建-創新互聯
當前鏈接:http://vcdvsql.cn/article8/dsdeip.html
成都網站建設公司_創新互聯,為您提供做網站、營銷型網站建設、建站公司、ChatGPT、域名注冊、品牌網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯