void Physics::addStage0(void) { addGround("ground", 0, 0, 0, 0, 8000, 0, 8000, KILLBOX); addGoal("goal", -60, 845, 3640, 0); addWall("wall0", 0, 440, 0, 0, 80, 40, 120); // start addWall("wall1", 0, 520, 160, 0, 80, 40, 40); // stairs 1 addWall("wall2", 0, 600, 240, 0, 80, 40, 40); addWall("wall3", 0, 680, 360, 0, 80, 40, 80); addWall("wall4", 0, 680, 1080, 0, 240, 40, 240); // platform 1 addWall("wall5", -520, 600, 1160, 0, 40, 40, 80); addWall("wall6", -760, 400, 1640, 0, 40, 80, 40); addWall("wall7", -1080, 480, 2000, 0, 80, 20, 80); addWall("wall8", -920, 560, 2160, 0, 20, 20, 120); addWall("wall9", -800, 640, 2280, 0, 40, 30, 40); addWall("wall10", -880, 720, 1880, 0, 40, 20, 80); addWall("wall11", -880, 780, 1760, 0, 40, 40, 40); addWall("wall12", -720, 880, 2200, 45, 80, 20, 320, CHECKPOINT); // end of jump puzzle 1 addWall("wall12_2", -230, 940, 2200, 0, 15, 10, 40); addWall("wall12_3", -170, 1020, 2140, 0, 15, 10, 40); addWall("wall12_4", -110, 1090, 2080, 0, 15, 10, 40); addWall("wall12_5", -50, 1160, 2210, 0, 15, 10, 40, CHECKPOINT); addWall("wall12_6", -10, 900, 1880, 0, 15, 10, 40); addWall("wall12_7", -40, 750, 1480, 0, 50, 5, 50); addWall("wall12_8", 30, 1250, 2280, 0, 32, 20, 25); addWall("wall12_9", 60, 1450, 2500, 0, 80, 20, 50); addWall("wall13", -160, 715, 3240, 0, 120, 10, 120); // platform on other side of wall addWall("wall14", 96, 390, 2690, 0, 804, 400, 50); // Big Wall Bottom addWall("wall15", 100, 1190, 2680, 0, 800, 400, 40); // Big Wall Top addWall("wall16", -60, 795, 3640, 0, 100, 10, 100); // End? jumping = true; }
void HillsideBattleground::loadGround() { GameElement*ground; ground = new GameElement(0,70); ground->addAnimation(new Animation("normal",1,"Images/Game/Stages/HillsideBattleground/ground.png")); ground->changeAnimation("normal", FORWARD); addGround(ground); }
// on "init" you need to initialize your instance bool HelloWorld::init() { ////////////////////////////// // 1. super init first if ( !CCLayer::init() ) { return false; } this->screenSize = CCDirector::sharedDirector()->getVisibleSize(); this->down_bar = NULL; score = 0; this->Xdownbar = 0; this->Xbird = 0; barTag = 0; //加载PLIST this->cache = CCSpriteFrameCache::sharedSpriteFrameCache(); this->cache->addSpriteFramesWithFile("flappy_packer.plist","flappy_packer.png"); CCSprite *startgame = CCSprite::createWithSpriteFrameName("getready.png"); startgame->setPosition(ccp(this->screenSize.width/2,this->screenSize.height/2+300)); addChild(startgame,1); //CCMenuItemImage *startgameItemImage = CCMenuItemImage::create("start.png","start.png",this,menu_selector(HelloWorld::gameEndCallback)); CCMenuItemSprite *startgameItemImage = CCMenuItemSprite::create(CCSprite::createWithSpriteFrameName("start.png"), CCSprite::createWithSpriteFrameName("start.png"),this,menu_selector(HelloWorld::gameEndCallback)); CCMenu* menu = CCMenu::create(startgameItemImage,NULL); addChild(menu,1); CocosDenshion::SimpleAudioEngine::sharedEngine()->preloadEffect("mp3/fly.mp3"); CocosDenshion::SimpleAudioEngine::sharedEngine()->preloadEffect("mp3/dead.wav"); CocosDenshion::SimpleAudioEngine::sharedEngine()->preloadEffect("mp3/score.mp3"); initWorld(); addBg(); addGround(123); addBrid(); gameend = false; ispass = false; //scheduleOnce(schedule_selector(HelloWorld::startGame),1); return true; }
void HelloWorld::startGame( float dt) { delete this->world; this->score = 0; this->down_bar = NULL; this->Xdownbar = 0; this->Xbird = 0; barTag = 0; barArray[0]=false; barArray[1]=false; isTouch = false; gameend = false; removeAllChildren(); setTouchEnabled(true); initWorld(); CCLabelAtlas* label2 = CCLabelAtlas::create("0123456789", "1.png", 17, 22, '0'); addChild(label2, 1, 9); label2->setPosition(ccp(this->screenSize.width/2-30,this->screenSize.height/2+360)); //label2->setColor(ccWHITE); label2->setScale(4); char string[12] = {0}; sprintf(string,"%d",this->score); label2->setString(string); scheduleUpdate(); schedule(schedule_selector(HelloWorld::addBar),1); //scheduleOnce(schedule_selector(HelloWorld::addBar),1); addBg(); addGround(123); addBrid(); addBarContainer(); }
// on "init" you need to initialize your instance bool HelloWorld::init() { ////////////////////////////// // 1. super init first if ( !CCLayer::init() ) { return false; } screenSize = CCDirector::sharedDirector()->getVisibleSize(); initWorld(); addBarContainer(); addBird(); addGround(); setTouchEnabled(true); startGame(); return true; }
void HelloWorld::update(float dt){ this->world->Step(dt,8,3); float nowRotation = this->bird->getRotation(); if(isTouch==true){ isTouch = false; this->bird->setRotation(45); }else{ float birdRotation = nowRotation -2; if(birdRotation<-90) birdRotation = -90; this->bird->setRotation(birdRotation); } if(gameend==true) this->bird->setRotation(-90); CCSprite *s; //遍历棍 b2Body *node = this->world->GetBodyList(); while(node){ b2Body *b = node; node = node->GetNext(); if(b->GetUserData()!=NULL){ //if(b->GetUserData()==this->down_bar){ // CCLog("down_bar is :%f \n",this->down_bar->getPositionX()); //}else if(b->GetUserData()==this->ground){ // CCLog("ground is :%f \n",this->ground->getPositionX()); //}else if(b->GetUserData()==this->ground2){ // CCLog("ground2 is :%f \n",this->ground2->getPositionX()); //} if(b->GetUserData()==this->down_bar || b->GetUserData()==this->down_bar2){ this->Xbird= this->bird->getPosition().x/RATIO; this->Xdownbar = b->GetPosition().x; CCSprite* downSprite = (CCSprite*)b->GetUserData(); int index = downSprite->getTag(); if(barArray[index]==false && this->Xdownbar<this->Xbird){ barArray[index]=true; //CCLog("== %d",index); this->score = this->score + 1; char string[12] = {0}; CCLabelAtlas* label2 = (CCLabelAtlas*)getChildByTag(9); sprintf(string, "%d", (int)this->score); label2->setString( string ); CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect("mp3/score.mp3"); } //CCLog("*** %f , %f\n",this->Xdownbar,this->Xbird); if(b->GetPosition().x<-3){ s = (CCSprite*)b->GetUserData(); if(s!=NULL){ s->removeFromParent(); CCLog("remove"); } this->world->DestroyBody(b); } } if(b->GetUserData()==this->ground){ if(b->GetPosition().x<0){ addGround(dt); } } } } }
void Physics::addStage2(void) { addGround("ground", 0, 0, 0, 0, 8000, 0, 8000); addGoal("goal", 50, 25, 1000, 0); addWall("barrior_s", 0, 60, -200, 0, 500, 60, 50); addWall("barrior_n", 0, 60, 1200, 0, 500, 60, 50); addWall("barrior_w", 550, 60, 500, SIMD_HALF_PI, 650, 60, 50); addWall("barrior_e", -550, 60, 500, SIMD_HALF_PI, 650, 60, 50); // addWall("wall0", 450, 60, -100, 0, 50, 60, 50, INVISIBLE); // addWall("wall1", 350, 60, -100, 0, 50, 60, 50, INVISIBLE); // addWall("wall2", 250, 60, -100, 0, 50, 60, 50, INVISIBLE); // addWall("wall3", 150, 60, -100, 0, 50, 60, 50, INVISIBLE); // addWall("wall4", 50, 60, -100, 0, 50, 60, 50, INVISIBLE); // addWall("wall5", -50, 60, -100, 0, 50, 60, 50, INVISIBLE); // addWall("wall6", -150, 60, -100, 0, 50, 60, 50, INVISIBLE); // addWall("wall7", -250, 60, -100, 0, 50, 60, 50, INVISIBLE); // addWall("wall8", -350, 60, -100, 0, 50, 60, 50, INVISIBLE); // addWall("wall9", -450, 60, -100, 0, 50, 60, 50, INVISIBLE); // addWall("wall10", 450, 60, 0, 0, 50, 60, 50, INVISIBLE); addWall("wall11", 350, 60, 0, 0, 50, 60, 50, INVISIBLE); // addWall("wall12", 250, 60, 0, 0, 50, 60, 50, INVISIBLE); addWall("wall13", 150, 60, 0, 0, 50, 60, 50, INVISIBLE); // addWall("wall14", 50, 60, 0, 0, 50, 60, 50, INVISIBLE); addWall("wall15", -50, 60, 0, 0, 50, 60, 50, INVISIBLE); // addWall("wall16", -150, 60, 0, 0, 50, 60, 50, INVISIBLE); // addWall("wall17", -250, 60, 0, 0, 50, 60, 50, INVISIBLE); addWall("wall18", -350, 60, 0, 0, 50, 60, 50, INVISIBLE); // addWall("wall19", -450, 60, 0, 0, 50, 60, 50, INVISIBLE); // addWall("wall20", 450, 60, 100, 0, 50, 60, 50, INVISIBLE); addWall("wall21", 350, 60, 100, 0, 50, 60, 50, INVISIBLE); // addWall("wall22", 250, 60, 100, 0, 50, 60, 50, INVISIBLE); // addWall("wall23", 150, 60, 100, 0, 50, 60, 50, INVISIBLE); // addWall("wall24", 50, 60, 100, 0, 50, 60, 50, INVISIBLE); addWall("wall25", -50, 60, 100, 0, 50, 60, 50, INVISIBLE); // addWall("wall26", -150, 60, 100, 0, 50, 60, 50, INVISIBLE); // addWall("wall27", -250, 60, 100, 0, 50, 60, 50, INVISIBLE); addWall("wall28", -350, 60, 100, 0, 50, 60, 50, INVISIBLE); // addWall("wall29", -450, 60, 100, 0, 50, 60, 50, INVISIBLE); addWall("wall30", 450, 60, 200, 0, 50, 60, 50, INVISIBLE); // addWall("wall31", 350, 60, 200, 0, 50, 60, 50, INVISIBLE); addWall("wall32", 250, 60, 200, 0, 50, 60, 50, INVISIBLE); addWall("wall33", 150, 60, 200, 0, 50, 60, 50, INVISIBLE); addWall("wall34", 50, 60, 200, 0, 50, 60, 50, INVISIBLE); // addWall("wall35", -50, 60, 200, 0, 50, 60, 50, INVISIBLE); // addWall("wall36", -150, 60, 200, 0, 50, 60, 50, INVISIBLE); addWall("wall37", -250, 60, 200, 0, 50, 60, 50, INVISIBLE); addWall("wall38", -350, 60, 200, 0, 50, 60, 50, INVISIBLE); // addWall("wall39", -450, 60, 200, 0, 50, 60, 50, INVISIBLE); // addWall("wall40", 450, 60, 300, 0, 50, 60, 50, INVISIBLE); // addWall("wall41", 350, 60, 300, 0, 50, 60, 50, INVISIBLE); // addWall("wall42", 250, 60, 300, 0, 50, 60, 50, INVISIBLE); // addWall("wall43", 150, 60, 300, 0, 50, 60, 50, INVISIBLE); // addWall("wall44", 50, 60, 300, 0, 50, 60, 50, INVISIBLE); // addWall("wall45", -50, 60, 300, 0, 50, 60, 50, INVISIBLE); addWall("wall46", -150, 60, 300, 0, 50, 60, 50, INVISIBLE); // addWall("wall47", -250, 60, 300, 0, 50, 60, 50, INVISIBLE); // addWall("wall48", -350, 60, 300, 0, 50, 60, 50, INVISIBLE); // addWall("wall49", -450, 60, 300, 0, 50, 60, 50, INVISIBLE); // addWall("wall50", 450, 60, 400, 0, 50, 60, 50, INVISIBLE); addWall("wall51", 350, 60, 400, 0, 50, 60, 50, INVISIBLE); addWall("wall52", 250, 60, 400, 0, 50, 60, 50, INVISIBLE); // addWall("wall53", 150, 60, 400, 0, 50, 60, 50, INVISIBLE); addWall("wall54", 50, 60, 400, 0, 50, 60, 50, INVISIBLE); addWall("wall55", -50, 60, 400, 0, 50, 60, 50, INVISIBLE); addWall("wall56", -150, 60, 400, 0, 50, 60, 50, INVISIBLE); // addWall("wall57", -250, 60, 400, 0, 50, 60, 50, INVISIBLE); addWall("wall58", -350, 60, 400, 0, 50, 60, 50, INVISIBLE); addWall("wall59", -450, 60, 400, 0, 50, 60, 50, INVISIBLE); // addWall("wall60", 450, 60, 500, 0, 50, 60, 50, INVISIBLE); // addWall("wall61", 350, 60, 500, 0, 50, 60, 50, INVISIBLE); addWall("wall62", 250, 60, 500, 0, 50, 60, 50, INVISIBLE); // addWall("wall63", 150, 60, 500, 0, 50, 60, 50, INVISIBLE); // addWall("wall64", 50, 60, 500, 0, 50, 60, 50, INVISIBLE); // addWall("wall65", -50, 60, 500, 0, 50, 60, 50, INVISIBLE); addWall("wall66", -150, 60, 500, 0, 50, 60, 50, INVISIBLE); // addWall("wall67", -250, 60, 500, 0, 50, 60, 50, INVISIBLE); addWall("wall68", -350, 60, 500, 0, 50, 60, 50, INVISIBLE); // addWall("wall69", -450, 60, 500, 0, 50, 60, 50, INVISIBLE); addWall("wall70", 450, 60, 600, 0, 50, 60, 50, INVISIBLE); // addWall("wall71", 350, 60, 600, 0, 50, 60, 50, INVISIBLE); // addWall("wall72", 250, 60, 600, 0, 50, 60, 50, INVISIBLE); addWall("wall73", 150, 60, 600, 0, 50, 60, 50, INVISIBLE); addWall("wall74", 50, 60, 600, 0, 50, 60, 50, INVISIBLE); addWall("wall75", -50, 60, 600, 0, 50, 60, 50, INVISIBLE); // addWall("wall76", -150, 60, 600, 0, 50, 60, 50, INVISIBLE); // addWall("wall77", -250, 60, 600, 0, 50, 60, 50, INVISIBLE); addWall("wall78", -350, 60, 600, 0, 50, 60, 50, INVISIBLE); // addWall("wall79", -450, 60, 600, 0, 50, 60, 50, INVISIBLE); // addWall("wall80", 450, 60, 700, 0, 50, 60, 50, INVISIBLE); // addWall("wall81", 350, 60, 700, 0, 50, 60, 50, INVISIBLE); // addWall("wall82", 250, 60, 700, 0, 50, 60, 50, INVISIBLE); // addWall("wall83", 150, 60, 700, 0, 50, 60, 50, INVISIBLE); // addWall("wall84", 50, 60, 700, 0, 50, 60, 50, INVISIBLE); // addWall("wall85", -50, 60, 700, 0, 50, 60, 50, INVISIBLE); addWall("wall86", -150, 60, 700, 0, 50, 60, 50, INVISIBLE); // addWall("wall87", -250, 60, 700, 0, 50, 60, 50, INVISIBLE); // addWall("wall88", -350, 60, 700, 0, 50, 60, 50, INVISIBLE); // addWall("wall89", -450, 60, 700, 0, 50, 60, 50, INVISIBLE); // addWall("wall90", 450, 60, 800, 0, 50, 60, 50, INVISIBLE); addWall("wall91", 350, 60, 800, 0, 50, 60, 50, INVISIBLE); addWall("wall92", 250, 60, 800, 0, 50, 60, 50, INVISIBLE); addWall("wall93", 150, 60, 800, 0, 50, 60, 50, INVISIBLE); // addWall("wall94", 50, 60, 800, 0, 50, 60, 50, INVISIBLE); addWall("wall95", -50, 60, 800, 0, 50, 60, 50, INVISIBLE); // addWall("wall96", -150, 60, 800, 0, 50, 60, 50, INVISIBLE); addWall("wall97", -250, 60, 800, 0, 50, 60, 50, INVISIBLE); addWall("wall98", -350, 60, 800, 0, 50, 60, 50, INVISIBLE); // addWall("wall99", -450, 60, 800, 0, 50, 60, 50, INVISIBLE); // addWall("wall100", 450, 60, 900, 0, 50, 60, 50, INVISIBLE); // addWall("wall101", 350, 60, 900, 0, 50, 60, 50, INVISIBLE); // addWall("wall102", 250, 60, 900, 0, 50, 60, 50, INVISIBLE); addWall("wall103", 150, 60, 900, 0, 50, 60, 50, INVISIBLE); addWall("wall104", 50, 60, 900, 0, 50, 60, 50, INVISIBLE); addWall("wall105", -50, 60, 900, 0, 50, 60, 50, INVISIBLE); // addWall("wall106", -150, 60, 900, 0, 50, 60, 50, INVISIBLE); // addWall("wall107", -250, 60, 900, 0, 50, 60, 50, INVISIBLE); // addWall("wall108", -350, 60, 900, 0, 50, 60, 50, INVISIBLE); // addWall("wall109", -450, 60, 900, 0, 50, 60, 50, INVISIBLE); // addWall("wall110", 450, 60, 1000, 0, 50, 60, 50, INVISIBLE); addWall("wall111", 350, 60, 1000, 0, 50, 60, 50, INVISIBLE); addWall("wall112", 250, 60, 1000, 0, 50, 60, 50, INVISIBLE); // addWall("wall113", 150, 60, 1000, 0, 50, 60, 50, INVISIBLE); // addWall("wall114", 50, 60, 1000, 0, 50, 60, 50, INVISIBLE); addWall("wall115", -50, 60, 1000, 0, 50, 60, 50, INVISIBLE); // addWall("wall116", -150, 60, 1000, 0, 50, 60, 50, INVISIBLE); addWall("wall117", -250, 60, 1000, 0, 50, 60, 50, INVISIBLE); addWall("wall118", -350, 60, 1000, 0, 50, 60, 50, INVISIBLE); addWall("wall119", -450, 60, 1000, 0, 50, 60, 50, INVISIBLE); // addWall("wall120", 450, 60, 1100, 0, 50, 60, 50, INVISIBLE); // addWall("wall121", 350, 60, 1100, 0, 50, 60, 50, INVISIBLE); // addWall("wall122", 250, 60, 1100, 0, 50, 60, 50, INVISIBLE); // addWall("wall123", 150, 60, 1100, 0, 50, 60, 50, INVISIBLE); addWall("wall124", 50, 60, 1100, 0, 50, 60, 50, INVISIBLE); // addWall("wall125", -50, 60, 1100, 0, 50, 60, 50, INVISIBLE); // addWall("wall126", -150, 60, 1100, 0, 50, 60, 50, INVISIBLE); // addWall("wall127", -250, 60, 1100, 0, 50, 60, 50, INVISIBLE); // addWall("wall128", -350, 60, 1100, 0, 50, 60, 50, INVISIBLE); // addWall("wall129", -450, 60, 1100, 0, 50, 60, 50, INVISIBLE); movePenguin(btVector3(25, 25, -100)); checkpoint = btVector3(25, 25, -100); jumping = false; }
void Physics::addStage1(void) { addGround("ground", 0, 0, 0, 0, 8000, 0, 8000, KILLBOX); addWall("south0", 0, 440, 0, 0, 760, 40, 120); // start addWall("wall1", 0, 520, 160, 0, 80, 40, 40); // stairs 1 addWall("wall2", 0, 600, 240, 0, 80, 40, 40); addWall("wall3", 0, 680, 360, 0, 80, 40, 80); addWall("wall4", -220, 700, 540, 0, 40, 10, 40); addWall("wall5", -540, 740, 460, 0, 40, 10, 40); addWall("wall6", -320, 820, 380, 0, 40, 10, 40); addWall("wall7", -20, 860, 370, 0, 40, 10, 40); addWall("wall8", 420, 840, 420, 0, 40, 10, 40); addWall("wall9", 820, 900, 420, 0, 40, 10, 40); addWall("west0", 880, 1030, 800, 0, 120, 40, 670); addWall("wall10", 1340, 780, 660, 0, 40, 10, 40); addWall("wall11", 1820, 700, 320, 0, 40, 10, 40); addWall("wall12", 2060, 760, 400, 0, 40, 10, 40); addWall("wall12_2", 2060, 760, 800, 0, 40, 10, 40); addWall("wall13", 1810, 780, 1200, 0, 40, 10, 60); addWall("wall14", 1380, 800, 1300, 0, 40, 40, 80); // stairs 2 addWall("wall15", 1260, 880, 1300, 0, 40, 40, 80); addWall("wall16", 1140, 970, 1300, 0, 40, 40, 80); addWall("wall17", 170, 1100, 1000, 0, 280, 20, 100, CHECKPOINT); addWall("east0", -880, 840, 800, 0, 120, 40, 670); addWall("wall18", -960, 960, 300, 0, 20, 10, 20); addWall("wall19", -840, 1010, 370, 0, 20, 10, 20); addWall("wall20", -760, 1040, 410, 0, 20, 10, 20); addWall("wall21", -540, 1100, 500, 0, 20, 10, 20); addWall("wall22", -540, 1140, 620, 0, 20, 10, 20); addWall("wall23", -540, 1210, 500, 0, 20, 10, 20); addWall("wall24", -580, 1280, 300, 0, 20, 10, 20); addWall("wall25", -600, 1300, 600, 0, 20, 10, 20); // Stepping stone addWall("wall26", -620, 1350, 680, 0, 10, 10, 10); addWall("wall27", -580, 1355, 720, 0, 10, 10, 10); addWall("wall28", -580, 1360, 1120, 0, 10, 10, 10); addWall("wall29", -250, 1370, 1060, 0, 10, 10, 10); addWall("wall30", 0, 1400, 1000, 0, 15, 10, 15); addWall("wall31", -100, 1460, 1300, 0, 35, 10, 35); addWall("wall32", 0, 1460, 1600, 0, 28, 10, 28); addWall("wall33", 100, 1460, 1300, 0, 35, 10, 35); addWall("wall34", 0, 1500, 1950, 0, 100, 10, 40, CHECKPOINT); addWall("wall35", 0, 1560, 2300, 0, 40, 10, 40); addWall("north0", 0, 2360, 1600, 0, 750, 800, 120); // great wall climb addWall("wall36", 300, 1640, 2200, 0, 80, 15, 40); addWall("wall37", 500, 1670, 1750, 0, 60, 15, 30); addWall("wall38", 100, 1700, 1750, 0, 60, 15, 30); addWall("wall39", -50, 1770, 1750, 0, 60, 10, 30); addWall("wall40", 150, 1835, 1750, 0, 70, 15, 30); addWall("wall41", 300, 1900, 1750, 0, 70, 15, 30); addWall("wall42", 450, 1970, 1750, 0, 50, 15, 30); addWall("wall43", 600, 2140, 1750, 0, 60, 15, 30); addWall("wall44", 350, 2200, 1750, 0, 70, 15, 30); addWall("wall45", 0, 2000, 1750, 0, 40, 15, 30); addWall("wall46", -180, 2080, 1750, 0, 40, 15, 30); addWall("wall47", 180, 2130, 1750, 0, 60, 15, 30); addWall("wall48", 980, 2220, 1750, 0, 70, 10, 30); addWall("wall49", 700, 2300, 1750, 0, 70, 10, 30); addWall("wall50", 300, 2360, 1750, 0, 70, 10, 30); addWall("wall51", 0, 2420, 1750, 0, 70, 10, 30); addWall("wall52", -300, 2490, 1750, 0, 70, 10, 30); addWall("wall53", -600, 2545, 1750, 0, 70, 10, 30); addWall("wall54", -900, 2620, 1750, 0, 70, 10, 30); addWall("wall55", -750, 2700, 1750, 0, 70, 10, 30); addWall("wall56", -1050, 2780, 1650, 0, 70, 10, 30, CHECKPOINT); addWall("wall57", -1050, 2840, 1400, 0, 40, 10, 40); addWall("wall58", -1050, 2920, 1200, 0, 40, 10, 40); addWall("wall59", -1050, 3000, 1100, 0, 40, 10, 40); addWall("wall60", -800, 3080, 1000, 0, 40, 10, 40); addGoal("goal", -400, 2800, 1000, 0); addWall("pillarsw", 880, 2000, 0, 0, 120, 1600, 120); addWall("pillarnw", 880, 2000, 1600, 0, 120, 1600, 120); addWall("pillarne", -880, 2000, 1600, 0, 120, 1250, 120); addWall("pillarse", -880, 2000, 0, 0, 120, 1600, 120); movePenguin(btVector3(0, 505, 0)); checkpoint = btVector3(0, 505, 0); jumping = true; }
// on "init" you need to initialize your instance bool HelloWorld::init() { ////////////////////////////// // 1. super init first if ( !CCLayer::init() ) { return false; } mbirdstr.push_back("birdblue"); mbirdstr.push_back("birdred"); mbirdstr.push_back("birdyellow"); mbirdclolor=rand()%100%3; // EFFECT_PLAY(true,MUSIC_SWOOSHING); //播放背景音乐 // CocosDenshion::SimpleAudioEngine::sharedEngine()->playBackgroundMusic(MUSIC_JUMP, true); //////////////////////////////////////////////////// // 下面添加创建自己的Sprite的代码 //////////////////////////////////////////////////// mScreenSize = CCDirector::sharedDirector()->getWinSize(); mFPS=CCDirector::sharedDirector()->getAnimationInterval(); mfac=CCDirector::sharedDirector()->getContentScaleFactor(); mfax = 320.f/mScreenSize.width; //gBardis = 5.f*gUpVelocity/mfac; gBardis = mScreenSize.height*2.f/9.0f-5; //m_addbartime=mScreenSize.width*mFPS*mfax*1.f/2.f/MOVESPEED-10; //m_addbartime=3; initWorld(); for (int i = 0; i<GBACKGROUNDNUM; i++) { addBackGround(i); } int imaxgroundnum=1; for (int i = 0; i<imaxgroundnum; i++) { imaxgroundnum=addGround(i); } m_ilastground=imaxgroundnum-1; CCLOG("m_pLastGround->boundingBox() first x:%f,:%f ", (m_pGroundVec[m_ilastground])->boundingBox().getMaxX(), (m_pGroundVec[m_ilastground])->boundingBox().size.width); addStart(); addTop(); //addRate(); //addFlappyBird(); addBird(); addScore(); addGameOver(); m_pScore->setVisible(false); m_pGameOver->setVisible(false); this->goReady(); addBarContainer(); setTouchEnabled(true); myflag=0; m_istatus=GETREADY; m_bhitbar=false; //scheduleOnce(schedule_selector(HelloWorld::startGame), 1); this->scheduleUpdate(); //创建动画 initAction(); myangle=0.f; return true; }