Exemple #1
0
//コマ表示
void GameScene::showBlock()
{
    //8×8のコマを作成する
    for(int x = 0;x < MAX_BLOCK_X; x++)
    {
        for(int y = 0; y < MAX_BLOCK_Y; y++)
        {
            //ランダムでコマを作成
            kBlock blockType = (kBlock) (rand() %kBlockCount);
            
            //対応するコマ配列様にタグを追加
            int tag = getTag(x, y);
            m_blockTags[blockType].push_back(tag);
            
            //コマを作成
            BlockSprite* pBlock = BlockSprite::createWithBlockType(blockType);
            pBlock->setPosition(getPosition(x, y));
            m_background->addChild(pBlock,kZOrderBlock,tag);
        }
    }
}
void GameScene::createBlock()
{
    CCLOG("createBlock");
    int tag = kTagBaseBlock;
    for (int x = 0; x < kMaxBlockLeft; x++)
    {
        vector<BlockSprite*> blocks;
        for (int y = 0; y < kMaxBlockTop; y++)
        {
            kBlock blockType = (kBlock)(rand() % kBlockCount);
            BlockSprite* block = BlockSprite::create(tag, blockType, kStatusNormal);
            block->setPosition(getPosition(x, y));
            background->addChild(block, kZOrderBlock, tag);
            blocks.push_back(block);
            
            tag++;
        }
        blockFields.push_back(blocks);
    }
    
    blockAreaStartPoint = getPosition(0, 0);
    blockAreaEndPoint   = getPosition(kMaxBlockLeft-1, kMaxBlockTop-1);
}