//ステージ Scene* MainScene::createSceneWithStage(int level) { // 物理エンジンを有効にしたシーンを作成する auto scene = Scene::createWithPhysics(); // 物理空間を取り出す auto world = scene->getPhysicsWorld(); // 重力を設定する world->setGravity(GRAVITY_ACCELERATION); // スピードを設定する world->setSpeed(12.0f); //MainSceneインスタンスをcreate?レイヤーを作成 //なぜMainScene()なのか auto layer = new MainScene(); //レイヤーインスタンスが存在し、レベルが設定されていれば、autoreleause if (layer && layer->initWithLevel(level)) { layer->autorelease(); } else { CC_SAFE_RELEASE_NULL(layer); } //レイヤーをsceneに追加 scene->addChild(layer); return scene; }
MapFlag* MapFlag::createWithLevel(int level) { auto mapFlag = new MapFlag(); if (mapFlag && mapFlag->initWithLevel(level)) { mapFlag->autorelease(); return mapFlag; } CC_SAFE_DELETE(mapFlag); return NULL; }