// on "init" you need to initialize your instance bool GameLayer::init() { ////////////////////////////// // 1. super init first if ( !CCLayer::init() ) { return false; } //get screen size _screenSize = CCDirector::sharedDirector()->getWinSize(); _running = false; //create game screen elements createGameScreen(); //create object pools createPools(); //create CCActions createActions(); //create array to store all falling objects (will use it in collision check) _fallingObjects = CCArray::createWithCapacity(40); _fallingObjects->retain(); //listen for touches this->setTouchEnabled(true); //create main loop this->schedule(schedule_selector(GameLayer::update)); SimpleAudioEngine::sharedEngine()->playBackgroundMusic("background.mp3", true); return true; }
bool handleEvent(SDL_Event const *event) { if (event->type == SDL_KEYDOWN) { switch (event->key.keysym.sym) { case SDLK_e: application_->addScreen(createEditorScreen(application_)); return true; case SDLK_g: case SDLK_SPACE: application_->addScreen(createGameScreen(application_, true)); return true; case SDLK_q: application_->removeScreen(this); return true; } } return false; }
void GameLayer::initGame () { _screenSize = CCDirector::sharedDirector()->getWinSize(); _moonStartPoint = ccp(60, _screenSize.height - 60); _manager = GameManager::sharedGameManager(); _manager->reset(); _starsCollected = false; _sunRise = false; _running = false; createGameScreen(); reset(); _running = true; setTouchEnabled(true); scheduleUpdate(); SimpleAudioEngine::sharedEngine()->stopBackgroundMusic(); SimpleAudioEngine::sharedEngine()->playBackgroundMusic("bg.mp3", true); }