将当前的CCSprite保存到另一个场景

时间:2015-07-25 14:24:59

标签: cocos2d-x ccsprite

我是使用cocos2d-x的初学者 我的问题是我不知道如何将CCSprite保留到另一个场景。

我的案例详情:

  1. 我做了一个课" Scene01"包括5个带有属性的CCSprite字符,每个属性的类名如C1,C2 ...... C5。

  2. 我做了一个" Draw"类" Scene02"中的按钮随机抽出其中一个。我把这个动作放在" CCTouchesBegan" ...字符绘制设置如下:

    if      (probability >0 && probability <=20) {result = C1::create();}
    
    else if (probability >20 && probability <=40){result = C2::create();}
    
    ...until C5::create();
    
  3. 我使用&#34; this->addChild(result);&#34;显示在&#34; Scene02&#34; at&#34; CCTouchesBegan&#34;。

  4. 但我不知道如何保持生成的&#34;结果(CCSprite)&#34;到新的场景类&#34; Scene03&#34;。有没有更好的方法来简化我的案例或任何方法可以帮助我完成它?

1 个答案:

答案 0 :(得分:0)

您可以尝试以下操作:保留Sprite,将其从Scene02中删除(将其保留在堆上),然后将其添加到Scene03中。

//(Scene02)

result->retain();
result->removeFromParent();

..

//(Scene03)

this->addChild(result);
result->release();