1

私は Cocos2d-x の初心者です。

ゲームの簡単な進行状況/更新バーを作成したいと考えています。

この進行状況バーがいっぱいになると、次のレベルに移動します。

そのバーを作成するにはどうすればよいですか。

ご協力いただきありがとうございます。

4

2 に答える 2

2

これを参照してください - 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

percentageupdate メソッドで、読み込みパーセンテージを反映するように変更します。

fuelBar->setPercentage(80); // Value between 0-100
于 2013-07-18T05:06:58.177 に答える
0

元の投稿を書きました(上記のリンク)。

この投稿のおかげで、コードを保存するときに 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;

これにより、コードが機能するはずです。これが役立つことを願っています!!!!

于 2013-11-09T10:58:30.553 に答える