泡泡龙游戏如上图,开发重点有以下几个;
1.建立泡泡矩阵
Bubble* m_board[11][11]; //建立一个面板有11行11列, 依次把泡泡存到响应索引里边去,没有泡泡的就设置NULL
Bubble* m_wait[4]; //保存后边准备的4个泡泡
Bubble* m_curReady; //准备发射的泡泡
2.发射泡泡
void GameScene::ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent)
{
CCPoint pos = pTouch->getLocation();
m_real = ccpNormalize(ccpSub(pos, m_curReady->getPosition())); //标准化长度,以设置泡泡飞行速度
setDisableEnable();
this->scheduleUpdate();
}
void GameScene::update(float delta)
{
if (isCollisionWithBorder())
{
m_real.x = -m_real.x;
}
CCPoint pos = m_curReady->getPosition();
m_curReady->setPosition(ccp(pos.x + m_real.x * BUBBLE_SPEED, pos.y + m_real.y * BUBBLE_SPEED));
//碰到其它泡泡的画就让它定住
if (isCollision())
{
m_real = CCPointZero;
adjustBubblePosition();
//查找身边符合条件的泡泡进行清除
execClearBubble(m_curReady);
//检查没有连接的泡泡就让它掉落