您的位置:首页 > 移动开发 > Cocos引擎

关于Cocos2d-x中根据分数增加游戏难度的方法

2016-08-25 23:12 357 查看
1.GameScene.h中声明一些分数边界值

//level提升所需的分数
enum LevelUp_Score
{
Level1Up_Score = 5,
Level2Up_Score = 10,
Level3Up_Score = 15,
Level4Up_Score = 20
};


  

2.在移动的Baby对象类的.cpp文件的update方法中写,每一帧都会执行update方法

  

//让生成的Baby实例对象不断地往左边移动,超出屏幕就消失,好像有了这个就不用再在Block和Star的定义下面写一个用来消失的update函数了
void Baby::update(float dt){
//log("wo zai baby update limian1");
m_score=GameScene::sharedGameLayer()->getScore();
//log("wo zai baby update limian2");
//m_score=GameScene::getScore();
//根据到达的分数,设置LEVEL
if (m_score > GameScene::LevelUp_Score::Level1Up_Score && m_score < GameScene::LevelUp_Score::Level2Up_Score)
{
//m_level = LEVEL2;
setPositionX(getPositionX() - 6);
}
else if (m_score > GameScene::LevelUp_Score::Level2Up_Score && m_score < GameScene::LevelUp_Score::Level3Up_Score)
{
//m_level = LEVEL3;
setPositionX(getPositionX() - 8);
}
else if (m_score > GameScene::LevelUp_Score::Level3Up_Score && m_score < GameScene::LevelUp_Score::Level4Up_Score)
{
//m_level = LEVEL4;
setPositionX(getPositionX() - 10);
}
else if (m_score > GameScene::LevelUp_Score::Level4Up_Score)
{
//m_level = LEVEL5;
setPositionX(getPositionX() - 12);
}
else
{
setPositionX(getPositionX() - 6);
//setPositionX(getPositionX() - 6);
}

if (getPositionX()<-this->getContentSize().width) {
unscheduleUpdate();
removeFromParent();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: