bool SceneGameMain::init() { SpriteFrameCache::getInstance()->addSpriteFrame(SpriteFrame::create("pipebottom.png", Rect(0, 0, 64, 64)), "pipebottom.png"); SpriteFrameCache::getInstance()->addSpriteFrame(SpriteFrame::create("middle.png", Rect(0, 0, 60, 23)), "middle.png"); SpriteFrameCache::getInstance()->addSpriteFrame(SpriteFrame::create("pipetop.png", Rect(0, 0, 64, 64)), "pipetop.png"); createBackGround(); createBianJie(); createBirdBox(); // m_world->setGravity(Vect(0,-10)); auto touchListener = EventListenerTouchOneByOne::create(); touchListener->setSwallowTouches(true); touchListener->onTouchBegan = CC_CALLBACK_2(SceneGameMain::onTouchBegan, this); touchListener->onTouchMoved = CC_CALLBACK_2(SceneGameMain::onTouchMoved, this); touchListener->onTouchEnded = CC_CALLBACK_2(SceneGameMain::onTouchEnded, this); touchListener->onTouchCancelled = CC_CALLBACK_2(SceneGameMain::onTouchCancelled, this); _eventDispatcher->addEventListenerWithSceneGraphPriority(touchListener, this); _touchListener = touchListener; schedule(schedule_selector(SceneGameMain::updateBird)); createTopGanTi(); auto contactListener = EventListenerPhysicsContact::create(); contactListener->onContactBegin = CC_CALLBACK_2(SceneGameMain::onContactBegin, this); _eventDispatcher->addEventListenerWithSceneGraphPriority(contactListener, this); return true; }
bool MainScene::init() { Scene::init(); visibleSize = Director::getInstance()->getVisibleSize(); origin = Director::getInstance()->getVisibleOrigin(); Label* rgbLable = Label::createWithSystemFont("RGB MODE", "Arial", fontSize*DATUM); MenuItemLabel* rgbmode = MenuItemLabel::create(rgbLable, CC_CALLBACK_0(MainScene::RGBMode, this)); Label* rgbrgbLable = Label::createWithSystemFont("RGBRGB MODE", "Arial", fontSize*DATUM); MenuItemLabel* rgbrgbmode = MenuItemLabel::create(rgbrgbLable, CC_CALLBACK_0(MainScene::RGBRGBMode, this)); Label* whiteLable = Label::createWithSystemFont("WHITE MODE", "Arial", fontSize*DATUM); MenuItemLabel* whitemode = MenuItemLabel::create(whiteLable, CC_CALLBACK_0(MainScene::WhiteMode, this)); if (SimpleAudioEngine::getInstance()->isBackgroundMusicPlaying()) SimpleAudioEngine::getInstance()->stopBackgroundMusic(); Label* playLable = Label::createWithSystemFont("PLAY BGM", "Arial", fontSize*DATUM); MenuItemLabel* playBGM = MenuItemLabel::create(playLable); Label* stopLable = Label::createWithSystemFont("STOP BGM", "Arial", fontSize*DATUM); MenuItemLabel* stopBGM = MenuItemLabel::create(stopLable); MenuItemToggle* bgm = MenuItemToggle::createWithCallback(CC_CALLBACK_0(MainScene::PlayStopBGM, this), playBGM, stopBGM, NULL); effectFlag = false; Label* openEffectLable = Label::createWithSystemFont("OPEN EFFECT", "Arial", fontSize*DATUM); MenuItemLabel* openEffect = MenuItemLabel::create(openEffectLable); Label* closeEffectLable = Label::createWithSystemFont("CLOSE EFFECT", "Arial", fontSize*DATUM); MenuItemLabel* closeEffect = MenuItemLabel::create(closeEffectLable); MenuItemToggle* effect = MenuItemToggle::createWithCallback(CC_CALLBACK_0(MainScene::OpenCloseEffect, this), openEffect, closeEffect, NULL); Label* quitLable = Label::createWithSystemFont("QUIT GAME", "Arial", fontSize*DATUM); MenuItemLabel* quitGame = MenuItemLabel::create(quitLable, CC_CALLBACK_0(MainScene::QuitGame, this)); Menu* mainMenu = Menu::create(rgbmode, rgbrgbmode, whitemode, bgm, effect, quitGame, NULL); mainMenu->alignItemsVerticallyWithPadding(20); this->addChild(mainMenu, 1000); createBackGround("sprites/main.jpg"); return true; }
bool MainScene::init() { Scene::init(); visibleSize = Director::getInstance()->getVisibleSize(); origin = Director::getInstance()->getVisibleOrigin(); Label* startLable = Label::createWithTTF("Start Game", "fonts/Marker Felt.ttf", 48); MenuItemLabel* startGame = MenuItemLabel::create(startLable, CC_CALLBACK_0(MainScene::StartGame, this)); if (SimpleAudioEngine::getInstance()->isBackgroundMusicPlaying()) SimpleAudioEngine::getInstance()->stopBackgroundMusic(); Label* playLable = Label::createWithTTF("Play BGM", "fonts/Marker Felt.ttf", 48); MenuItemLabel* playBGM = MenuItemLabel::create(playLable); Label* stopLable = Label::createWithTTF("Stop BGM", "fonts/Marker Felt.ttf", 48); MenuItemLabel* stopBGM = MenuItemLabel::create(stopLable); MenuItemToggle* bgm = MenuItemToggle::createWithCallback(CC_CALLBACK_0(MainScene::PlayStopBGM, this), playBGM, stopBGM, NULL); effectFlag = false; Label* openEffectLable = Label::createWithTTF("Open Effect", "fonts/Marker Felt.ttf", 48); MenuItemLabel* openEffect = MenuItemLabel::create(openEffectLable); Label* closeEffectLable = Label::createWithTTF("Close Effect", "fonts/Marker Felt.ttf", 48); MenuItemLabel* closeEffect = MenuItemLabel::create(closeEffectLable); MenuItemToggle* effect = MenuItemToggle::createWithCallback(CC_CALLBACK_0(MainScene::OpenCloseEffect, this), openEffect, closeEffect, NULL); Label* quitLable = Label::createWithTTF("Quit Game", "fonts/Marker Felt.ttf", 48); MenuItemLabel* quitGame = MenuItemLabel::create(quitLable, CC_CALLBACK_0(MainScene::QuitGame, this)); Menu* mainMenu = Menu::create(startGame, bgm, effect, quitGame, NULL); mainMenu->alignItemsVerticallyWithPadding(20); this->addChild(mainMenu, 1000); createBackGround("sprites/main.jpg"); return true; }