本文整理汇总了C++中CBlock::init方法的典型用法代码示例。如果您正苦于以下问题:C++ CBlock::init方法的具体用法?C++ CBlock::init怎么用?C++ CBlock::init使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CBlock
的用法示例。
在下文中一共展示了CBlock::init方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: init
bool CGameLayer::init()
{
if (!Layer::init())
{
return false;
}
m_visibleSize = Director::getInstance()->getVisibleSize();
m_origin = Director::getInstance()->getVisibleOrigin();
auto playItem = MenuItemImage::create("psd_2_.png", "psd_back.png", CC_CALLBACK_1(CGameLayer::gotoMenuScene, this));
playItem->setPosition(Point(m_visibleSize.width - 25, m_visibleSize.height - 25));
auto menu = Menu::create(playItem, NULL);
menu->setPosition(Point::ZERO);
this->addChild(menu);
m_screenSize = CCDirector::sharedDirector()->getWinSize();
auto sprite = GameSprite::create("background.png");
sprite->setPosition(ccp(m_screenSize.width * 0.5, m_screenSize.height* 0.5));
this->addChild(sprite, -1);
auto gateBody = PhysicsBody::createBox(Size(m_visibleSize.width, 1.0f));
gateBody->setDynamic(false);
gateBody->setContactTestBitmask(true);
gateBody->setContactTestBitmask(BORDER_CONTACT_BITMASK);
gateBody->setCollisionBitmask(BORDER_CONTACT_BITMASK);
auto gateNode = make_cc<Node>();
gateNode->setPosition(Point(m_visibleSize.width / 2.0f, -1.0f));
gateNode->setPhysicsBody(gateBody);
addChild(gateNode);
Point coordinates = { 0.1f, 0.85f };
for (int i = 1; i <= MAX_NUMBER_BLOCKS; ++i)
{
CBlock* spr = new (std::nothrow) CBlock();
spr->init(this, ccp(coordinates.x, coordinates.y), TAG_START_BLOCK + i);
m_blocks.push_back(spr);
coordinates.x += 0.1f;
if (i % 9 == 0)
{
coordinates = { 0.1f, coordinates.y - 0.03f };
}
}
auto edgeBody = PhysicsBody::createEdgeBox(m_visibleSize, PhysicsMaterial(0, 0.5f, 0), 0);
edgeBody->setDynamic(false);
auto edgeNode = Node::create();
edgeNode->setPosition(Point(m_visibleSize.width / 2 + m_origin.x, m_visibleSize.height / 2 + m_origin.y));
edgeNode->setPhysicsBody(edgeBody);
this->addChild(edgeNode);
m_player = new (std::nothrow) CRacket();
m_player->init(this);
m_player->SetPosition(Vec2(m_visibleSize.height - 50.0f, 100.0f));
CBall *_ball = new (std::nothrow) CBall();
_ball->init(this, g_gameState->m_acc * g_gameState->m_level, m_player->GetPosition());
//this->addChild(_ball);
m_ball.push_back(_ball);
m_labelScore = CCLabelTTF::create("You score", "Arial", SIZE_LABEL);
m_labelScore->setPosition(ccp(60.0f + 70.0f, m_visibleSize.height - SIZE_LABEL));
m_labelScore->setColor(COLOR_LABEL);
m_labelScore->setTag(TAG_SCORE_LABEL);
this->addChild(m_labelScore);
char score_buffer[10];
sprintf(score_buffer, "%i", g_gameState->m_score);
m_playerScoreLabel = CCLabelTTF::create("", "Arial", SIZE_LABEL);
m_playerScoreLabel->setPosition(ccp(135.0f + 70.0f, m_visibleSize.height - SIZE_LABEL));
m_playerScoreLabel->setColor(COLOR_LABEL);
m_playerScoreLabel->setTag(TAG_PLAYER_SCORE_LABEL);
m_playerScoreLabel->setString(score_buffer);
this->addChild(m_playerScoreLabel);
auto listener = EventListenerTouchOneByOne::create();
listener->onTouchBegan = CC_CALLBACK_2(CGameLayer::onTouchBegan, this);
listener->onTouchMoved = CC_CALLBACK_2(CGameLayer::onTouchMoved, this);
listener->onTouchEnded = CC_CALLBACK_2(CGameLayer::onTouchEnded, this);
_eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this);
auto contactListener = EventListenerPhysicsContact::create();
contactListener->onContactBegin = CC_CALLBACK_1(CGameLayer::onContactBegin, this);
this->getEventDispatcher()->addEventListenerWithSceneGraphPriority(contactListener, this);
this->setTouchEnabled(true);
this->scheduleUpdate();
return true;
}