国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

SpriteBuilder學習筆記一

2019-11-14 19:36:27
字體:
來源:轉載
供稿:網友

只有user-interface nodes,必須Buttons,Text Filed,和Slider nodes才有CCControl選項卡

 

其中Selector可以理解為:方法的名字。當按鈕被按下時,會傳遞一個消息(可以理解為方法被調用)

Continuous:當被選中時,方法會一直調用當用戶不斷的按住button。

 

 

在AppDelegate.m中有一個startScene方法:

 

- (CCScene*) startScene
{
    return [CCBReader loadAsScene:@"GameScene"];
}

 

可以改變載入場景

CCBReader中的方法最常用的是loadAsScene和load,分別可以載入特定的CCB文件,并且分別返回CCScene和CCNode實例。

 

 

 

 

為Scene創建一個自定義類

現在SPRiteBuilder中創建一個一個custom class,然后在Xcode中創建相同名字的類或者類的變量,才可以完成代碼的的連接。順序沒有要求。

可以指定target,對于selectors和ivars,默認分別為Document root 和Doc root var.

Document root指的是 the root node of CCB file which contains the currently edited node.(CCB文件的根node,這個根node包含著正在編輯的node).

The root node is the topmost(頂層的,最高層的)node in the hierarchy ----the one that's already there when you craete a CCB file.(這個根node 是最頂層的node,當你建立一個CCB文件的時候,就已經存在的那個node)如圖:

 

注意:對selectors和ivars使用Owner選項作為target的情況,僅僅適用于在已經存在的Scenen中,在運行時載入CCB中的內容.原文如下:

 

 

 

Using the Owner setting as the target for selectors and ivars is done only in cases where you load the contents of a CCB at runtime with an already existing scene.

你可以指定一個自定義類(owner)作為selectors和ivars的接收者。

 

 

One use for this is to map an overlaymenu CCB's button selectors to the scene's original custom class.

一個常見的誤解是Owner指的是custom class of the selected node(被選擇的node的自定義類)

 

如果你為Sprite類型的CCB文件創建自定義類,你必須讓class繼承自CCSprite,如果是Particle CCBs,必須繼承自CCParticleSystem,除此之外,必須繼承自CCNode類,包括Scene類型!!

在GameScene.m文件中:

@implementation GameScene- (void)didLoadFromCCB {    NSLog(@"GameScene created!");}@end

當每個node被創建時,由CCBReader發送。

 

點擊GameScene上的Button,實現更換Scene的代碼如下:

1 - (void)exitButtonPressed {2     NSLog(@"get me outa here!");3     CCScene *scene = [CCBReader loadAsScene:@"MainScene.ccbi"];4     CCTransition *transition = [CCTransition transitionFadeWithDuration:1.5];5     [[CCDirector sharedDirector] presentScene:scene withTransition:transition];6 }

NOTE:使用CCBReader loadAsScene時,可以直接使用“MainScene”,但一定不能加上.ccb擴展名,因為在內部,后綴名為ccbi而不是ccb。

代碼分析:

CCScene *scene = [CCBReader loadAsScene:@"MainScene.ccbi"];

loadAsScene方法返回一個CCScene對象,它是你的CCB文件的根node,作為唯一的child

原文:(It returns a CCScene object with your CCB file's root node as the only child)

這行代碼的等價代碼如下(使用load:方法):

CCNode *ccbRootNode = [CCBReader load:@"MainScene"];CCScene *scene = [CCScene node];[scene addChild:ccbRootNode];

為了訪問MainScene的根node,還需要寫:

CCNode *rootNode = scene.children.firstObject;

 

Create a Level Sub File Node

游戲支持很多level,因為每一個level都有相同的基本元素,所以每一level重復使用GameScene是合理的.

舉例來說:HUD----headsup display 即不滾動的內容,比如暫停按鈕,得分牌label等。

 

 

 

 

拖動一個Gradient Node 進入stage.

 

改變z軸順序的方法:

在parent容器中的TimeLine中改變z軸順序

NOTE:

可以在TimeLine中改變node的描述,但這和property中的名字可以不同,建議保持相同的名字以免出現沖突。

 

NOTE:

左側第二項Tileless Editor View僅僅在CCB文件保存后或者項目發布后才會更新,使用時如果發現不同之處需要先保存或發布項目。

 

 

 

Adding the Player Sprite

執行后,文件夾變成粉紅色

推薦使用PVR RGBA8888,并且選上Compress,這樣內存加載的更快,也更省內存,并且沒有任何負面影響。

 

NOTE:RGBA4444和RGB565把顏色位寬減到16bit,RGB565僅僅適用于沒有透明通道的圖片,比如:opaque background images.

PVRTC是”最后的招數“,它們使用有損壓縮,就像JPG,但是這樣可以很大程度上減少內存的使用和改進底層的表現。

在快速移動,短時間內存在或者很小圖片的時候使用PVRTC。比如:子彈。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阆中市| 乳源| 永川市| 阿勒泰市| 定远县| 永胜县| 滕州市| 清流县| 天柱县| 宜昌市| 泰顺县| 石楼县| 垫江县| 抚顺市| 昌乐县| 图们市| 邳州市| 赣榆县| 报价| 萨嘎县| 德庆县| 永城市| 西充县| 长岭县| 和田市| 扶沟县| 历史| 盐池县| 沂南县| 石阡县| 武清区| 光泽县| 文昌市| 丹巴县| 临湘市| 禄丰县| 杭锦后旗| 绥德县| 太仓市| 平南县| 商城县|