グローバル変数の使用を避けるために、作成機能 を変更したいと思います。 を呼び出して他のシーンを作成している間に値(例:スコア)を渡したいとします。私が見つけた1つの方法は、 グローバル変数を使用して、関数 を作成しましたが、グローバル変数 を使用せずにこれらの値を使用したいと考えています。早く返信してください。私はcocos2d-xの新機能です。 また、他の方法があるかどうか教えてください。cocos2d-xでカスタム作成機能を作成する方法
-1
A
答えて
0
私は個人的にこれらの2つのアプローチを使用しています...だから、最もフィットするものを選んでください!
たとえば、このScoreSceneクラスとその作成方法をとります。
1) - 1つのアプローチ
class ScoreScene : public cocos2d::Layer
{
public:
static cocos2d::Scene* createScene(bool won, int score) {
auto scene = Scene::create();
auto layer = ScoreScene::create(won, score);
scene->addChild(layer);
return scene;
}
static ScoreScene* create(bool won, int score) {
ScoreScene *layer = new(std::nothrow) ScoreScene;
if (layer)
{
layer->isWinner = won;
layer->m_score = score;
if (layer->init())
{
layer->autorelease();
return layer;
}
}
CC_SAFE_DELETE(layer);
return nullptr;
}
bool init() override {
if(!layer->init()) return;
// initialization code here
return true;
}
private:
// your properties
int m_score;
bool isWinner;
};
1) -
はをcreateSceneの代わりに2であるただ一つの方法を行う)は、2つの(個人好適に近づきます。
class ScoreScene : public cocos2d::Layer
{
public:
cocos2d::Scene* ScoreScene::createScene(bool won, int score)
{
ScoreScene *layer = new(std::nothrow) ScoreScene;
if (layer)
{
layer->isWinner = won;
layer->m_score = score;
if (layer->init())
{
auto scene = Scene::create();
layer->autorelease();
scene->addChild(layer);
return scene;
}
}
CC_SAFE_DELETE(layer);
return nullptr;
}
bool init() override {
if(!layer->init()) return;
// initialization code here
return true;
}
private:
// your properties
int m_score;
bool isWinner;
};
0
私は私の答えだと
cocos2d::Scene* GameOverScene::createScene(unsigned int tempscoree)
{
GameOverScene *pRet = new(std::nothrow) GameOverScene();
if (pRet && pRet->init(tempscoree))
{
auto scene = Scene::create();
pRet->autorelease();
scene->addChild(pRet);
return scene;
}
else
{
delete pRet;
pRet = NULL;
return NULL;
}
}
bool GameOverScene::init(unsigned int tempScore)
{
if (!Layer::init())
{
return false;
}
//Now i can use tempScore any where in to this init() method.
}
関連する問題
- 1. カスタム機能の作成
- 2. 機能がstapplingin SharePointで機能を作成する方法?
- 3. crossfilter.jsディメンションを作成する一般的な機能を作成する方法
- 4. 検索機能の作成方法は?
- 5. Drupal OAで始まりカスタム機能を作成するには
- 6. カスタムUIDatePickerコントロールを作成する方法
- 7. カスタムDataGridViewCellを作成する方法
- 8. カスタムSwingコンポーネントを作成する方法
- 9. Eclipse - ドラッグアンドドロップコントロール機能で新しいプロジェクトを作成する方法
- 10. Google Chromeの拡張機能でツリービューを作成する方法
- 11. iPadアプリでdrg&drop機能を作成する方法
- 12. カスタム作成アクションを作成する
- 13. jQueryでカウントダウン機能を作成する
- 14. Web2Pyでユニバーサルコントローラ機能を作成する
- 15. 機能の配列を動的に作成する方法は?
- 16. 追加機能付きdata.frameのサブクラスを作成する方法
- 17. jQuery Typewatch - 代替機能または同じ機能を作成する方法
- 18. カスタムAuthorizeAttributeは、私は、カスタムAuthorizeAttributeを作成する方法
- 19. iOSでログイン機能と検索機能を作成する
- 20. カスタムPOCOシリアライザ/デシリアライザの作成方法は?
- 21. カスタムIntelliJプロジェクトテンプレートの作成方法は?
- 22. カスタムNSCharacterSetの作成方法は?
- 23. カスタム入力の作成方法は?
- 24. カスタムAndroidアニメーションの作成方法
- 25. カスタムMVC3 ActionLinkメソッドの作成方法は?
- 26. Groovyで多くの機能を作成するオーバーヘッドを作成する
- 27. カラーホイールを作成する機能
- 28. 検索機能を作成する
- 29. 共通コントローラ機能を作成する
- 30. プロセスエクスプローラの[タスクマネージャを置き換える]機能の作成方法
...同じアプローチしかし、答えるために感謝を使用。ジョセフありがとう。私は同じアプローチを見つけました。 –