[cocos2d-JSB/cocosBuilder篇]在當前ccb取得sub ccb裡的物件或函式

文章撰寫日期︰2013/12/07 21:45
cocos2d-x使用版本︰2.1.5

一、前言

使用CocosBuilder可以很快的創作岀我們要的場景,
程式面為了更清楚的管理場景架構,
一個畫面通常會是"2個以上的ccb檔"(CocosBuilder製作岀來的場景檔)所組成的。

二、文章開始

如今我們在Main.ccb場景畫面上添加了一個子場景Sub.ccb,
Sub.ccb裡有一個函式是這樣的︰

var Sub = function(){

    this.hi =function(){
    cc.log("hi");
    };

};

我們在Main.ccb要怎麼呼叫子場景的hi()函式呢?
作法如下︰
        var TAG_SUB_SCENE = 10;

        //先將子場景添加入主場景中
        var node = cc.BuilderReader.load("Sub.ccbi");
        this.rootNode.addChild(node,10,TAG_SUB_SCENE);

        //在主場景使用子場景hi()函式的方法如下
        var node = this.rootNode.getChildByTag(TAG_SUB_SCENE);
        node.controller.hi();
透過controller, 我們得以在主場景使用子場景宣告的函式hi()。

同樣的,
如果要在主場景取得子場景的物件,
假設我們要取得一個精靈名為button,
精靈我們在CocosBuilder裡命名為button,並設為Doc root var(見右上紅框所示)

那麼取得的方式便是︰
        var node = this.rootNode.getChildByTag(TAG_SUB_SCENE);
        var btn = node.controller.button;

這樣子便可以在主場景(Main.ccb)裡取到我們在子場景裡的物件。

相關文章

1. [cocosbuilder篇]sub ccbi的使用
2. [cocosBuilder篇]sub ccbi在主ccbi上位置偏移
3. [cocosbuilder篇]Reference to 'CCBReader' is ambiguous錯誤
4. 官方sub ccbi使用教學(英文) 
5. Android端無法載入sub ccb 
6. ccbi檔讀取遇到BAD_ACCESS

沒有留言 :

張貼留言