本文整理汇总了C++中Star::setScale方法的典型用法代码示例。如果您正苦于以下问题:C++ Star::setScale方法的具体用法?C++ Star::setScale怎么用?C++ Star::setScale使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Star
的用法示例。
在下文中一共展示了Star::setScale方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: starsUpdate
void GameScene::starsUpdate(float dt)
{
int chance = rand() % Star::chance;
Size visibleSize = Director::getInstance()->getVisibleSize();
if (chance == 0)
{
Star * star = Star::create(cocos2d::Vec2(visibleSize.width * 1.03, 100 + rand() % (int)(visibleSize.height * 0.8)));
star->setScale(0.2f + (rand() % 8) / 10.f);
star->setOpacity(50 + (rand() % 200));
this->addChild(star, Layers::SECOND_PLAN);
vecStars.push_back(star);
}
for (unsigned int iStar = 0; iStar < vecStars.size(); ++iStar)
{
if (vecStars[iStar] != nullptr)
{
if (vecStars[iStar]->getIsValid())
{
vecStars[iStar]->update(dt);
}
else
{
if (vecStars[iStar]->getParent() != nullptr)
vecStars[iStar]->getParent()->removeChild(this);
}
}
else
{
std::swap(vecStars[iStar], vecStars[vecStars.size() - 1]);
vecEnemies.pop_back();
}
}
}
示例2: init
bool PopStar::init()
{
if (!CCNode::init())
{
return false;
}
if (!gameLayer)
{
return false;
}
for (int row = 0; row < ROW_NUM; ++row)
{
for (int col = 0; col < COL_NUM; ++col)
{
int index = (rand() % 5) + 1;
Star* star = Star::create(index);
if (star)
{
star->setScale(1.5);
star->setPos(ccp(STAR_WIDTH*col + STAR_WIDTH/2, STAR_HEIGHT*row + STAR_HEIGHT/2 + row*20+col*5));
star->setDestPos(ccp(STAR_WIDTH*col + STAR_WIDTH/2, STAR_HEIGHT*row + STAR_HEIGHT/2));
gameLayer->addChild(star);
stars[row][col] = star;
}
}
}
int level = getPopStarDataMgr().getLevel();
gameLayer->onGuiEvent(EVENT_UPDATE_LEVEL, level);
int score = getPopStarDataMgr().getScore();
gameLayer->onGuiEvent(EVENT_UPDATE_SCORE, score);
int historyScore = getPopStarDataMgr().getHistoryScore();
gameLayer->onGuiEvent(EVENT_UPDATE_TOTAL_HISTORY_SCORE, historyScore);
int historyLevelScore = getPopStarDataMgr().getHistoryLevelScoreByLevel(level);
gameLayer->onGuiEvent(EVENT_UPDATE_LEVEL_HISTORY_SCORE, historyLevelScore);
int targetScore = getPopStarDataMgr().getTargetScoreByLevel(level);
gameLayer->onGuiEvent(EVENT_UPDATE_TARGET_SCORE, targetScore);
currentState = new GameInitState(this);
return true;
}
示例3: init
// on "init" you need to initialize your instance
bool GameScene::init()
{
CCLOG("GAME SCENE START");
srand((int)std::time(NULL));
if (!MainScene::init())
{
return false;
}
world = new b2World(b2Vec2(0.f, 0.f));
// HERE STARTS THE MAGIC
scheduleUpdate();
mState = States::S_GAME;
Vec2 origin = Director::getInstance()->getVisibleOrigin();
Size visibleSize = Director::getInstance()->getVisibleSize();
// Background
mBackground = Sprite::create("backgrounds/gameBackground.png");
mBackground->setPosition(Vec2(origin.x + visibleSize.width / 2, origin.y + visibleSize.height / 2));
this->addChild(mBackground, Layers::BACKGROUND);
// Player
mPlayer = Player::create(Vec2(400.f, 400.f), world);
this->addChild(mPlayer, Layers::PLAYER);
mapKeysPressed[EventKeyboard::KeyCode::KEY_UP_ARROW] = false;
mapKeysPressed[EventKeyboard::KeyCode::KEY_RIGHT_ARROW] = false;
mapKeysPressed[EventKeyboard::KeyCode::KEY_LEFT_ARROW] = false;
mapKeysPressed[EventKeyboard::KeyCode::KEY_DOWN_ARROW] = false;
// Create starry background which moves
for (unsigned int i = 0; i < 100; ++i)
{
Star * star = Star::create(cocos2d::Vec2(50.f + rand() % (int)(visibleSize.width), 50.f + rand() % (int)(visibleSize.height * 0.9f)));
star->setScale(0.2f + (rand() % 6) / 10.f);
star->setOpacity(50 + (rand() % 200));
this->addChild(star, Layers::SECOND_PLAN);
vecStars.push_back(star);
}
// Assign Box2D contact listener to world
CL = new ContactListener;
world->SetContactListener(CL);
// Points
pointsLabel = Label::createWithTTF("Score: " + std::to_string(points), "fonts/DKCoolCrayon.ttf", 25.f);
pointsLabel->setPosition(10 + pointsLabel->getBoundingBox().size.width / 2, 20);
this->addChild(pointsLabel, Layers::GUI);
mGameOverInfo = Label::createWithTTF("Game Over\nScore: " + std::to_string(points), "fonts/DKCoolCrayon.ttf", 50.f);
mGameOverInfo->setPosition(visibleSize.width / 2.f, visibleSize.height / 2.f);
mGameOverInfo->setAlignment(cocos2d::TextHAlignment::CENTER);
mGameOverInfo->setOpacity(0);
this->addChild(mGameOverInfo, Layers::GUI);
// Bars
mHpBarBorder = Sprite::create("gui/BarBorder.png");
mRageBarBorder = Sprite::create("gui/BarBorder.png");
mHpBarFill = Sprite::create("gui/HpBarFill.png");
mRageBarFill = Sprite::create("gui/RageBarFill.png");
mRageBarFill->setTextureRect(cocos2d::Rect(0.f, 0.f, 0.f, mRageBarFill->getBoundingBox().size.height));
mRageBarFill->setAnchorPoint(Vec2(0.f, 0.5f));
mRageBarBorder->setAnchorPoint(Vec2(0.f, 0.5f));
mHpBarBorder->setAnchorPoint(Vec2(0.f, 0.5f));
mHpBarFill->setAnchorPoint(Vec2(0.f, 0.5f));
mHpBarBorder->setPosition(100.f, visibleSize.height - 30.f);
mRageBarBorder->setPosition(350.f, visibleSize.height - 30.f);
mHpBarFill->setPosition(100.f, visibleSize.height - 30.f);
mRageBarFill->setPosition(350.f, visibleSize.height - 30.f);
this->addChild(mHpBarFill, Layers::GUI);
this->addChild(mRageBarFill, Layers::GUI);
this->addChild(mHpBarBorder, Layers::GUI);
this->addChild(mRageBarBorder, Layers::GUI);
time = 0.f;
return true;
}