私は Cocos2d-x の初心者です。
ゲームの簡単な進行状況/更新バーを作成したいと考えています。
この進行状況バーがいっぱいになると、次のレベルに移動します。
そのバーを作成するにはどうすればよいですか。
ご協力いただきありがとうございます。
これを参照してください - cocos2d-x および C++ で進行状況バーを使用する方法
基本的に、進行状況バーの境界線用と読み込みバー自体用の 2 つのスプライトを作成します。
CCPointer fuelBarBorder;
fuelBarBorder =
CCSprite::createWithSpriteFrameName ("bt_progressbarborder.png" );
fuelBarBorder->setPosition(ccp(100,100));
this->addChild(fuelBarBorder,1);
// CCProgresstimer object (smart pointer)
CCPointer fuelBar;
fuelBar = CCProgressTimer::create(
CCSprite::createWithSpriteFrameName ("bt_progressbar.png" ));
ローディング バー スプライトのタイプを に設定しCCProgressTimerType
ます。
// Set this progress bar object as kCCProgressTimerTypeBar (%)
fuelBar->setType(CCProgressTimerType::kCCProgressTimerTypeBar);
// Set anchor point in 0,0 and add it as a child to our border sprite
fuelBar->setAnchorPoint(ccp(0,0));
fuelBar->setBarChangeRate(ccp(1,0)); // To make width 100% always
fuelBar->setTag(1); // Tag our object for easy access
fuelBarBorder->addChild(fuelBar,50); // Add it inside the border sprite
percentage
update メソッドで、読み込みパーセンテージを反映するように変更します。
fuelBar->setPercentage(80); // Value between 0-100
元の投稿を書きました(上記のリンク)。
この投稿のおかげで、コードを保存するときに WordPress が私を再生したことがわかりました:(.
いくつかの修正が必要です。
CCPointer <CCSprite> fuelBarBorder;
fuelBarBorder =
CCSprite::createWithSpriteFrameName ("bt_progressbarborder.png" );
fuelBarBorder->setPosition(ccp(100,100));
this->addChild(fuelBarBorder,1);
これは最初のセットです。最初の行だけが変更されていることがわかります。
CCPointer <CCSprite> fuelBarBorder;
この cocos2d-x 拡張機能がない場合は、次を使用してください。
CCSprite * fuelBarBorder;
2 番目のコード セットでも同じですが、正しいコードは次のとおりです。
CCPointer <CCProgressTimer> fuelBar;
fuelBar = CCProgressTimer::create(
CCSprite::createWithSpriteFrameName ("bt_progressbar.png" ));
// Set this progress bar object as kCCProgressTimerTypeBar (%)
fuelBar->setType(CCProgressTimerType::kCCProgressTimerTypeBar);
// Set anchor point in 0,0 and add it as a child to our border sprite
fuelBar->setAnchorPoint(ccp(0,0));
fuelBar->setBarChangeRate(ccp(1,0)); // To make width 100% always
fuelBar->setTag(1); // Tag our object for easy access
fuelBarBorder->addChild(fuelBar,50); // Add it inside the border sprite
同じことは、CCPointer (スマート ポインターの実装) を使用することです。プロジェクトにない場合は、次の行を変更するだけです。
CCPointer <CCProgressTimer> fuelBar;
これによって:
CCProgressTimer fuelBar;
これにより、コードが機能するはずです。これが役立つことを願っています!!!!