我是Cocos2d-x的新手。
我想为我的游戏创建简单的进度/更新栏。
当此进度条已满时,我们将进入下一级别。
如何创建该栏。
感谢您的帮助。
答案 0 :(得分:2)
请参阅此内容 - How to use a progress bar in cocos2d-x and C++
基本上,为进度条的边框创建两个精灵,为加载栏本身创建一个精灵。
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
以反映加载百分比。
fuelBar->setPercentage(80); // Value between 0-100
答案 1 :(得分: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;
第二组代码相同,正确的是:
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;
这应该使代码有效,我希望这有助于!!!!