bool setup() { win = new Engine::glfwWindow; DefaultGameStateManager *manager = new DefaultGameStateManager(win); win->setApplication(this); win->setState(manager); win->setup(); //AssetManager::setBasePath(""); scene = manager->sceneState->scene; scene->systemManager->addSystem(new PhysicsSubSystem()); scene->systemManager->addSystem(new GenericSubSystem()); scene->systemManager->addSystem(new Generic30fpsSubSystem()); scene->systemManager->addSystem(new Generic60fpsSubSystem()); scene->systemManager->addRenderSystem(new DefaultRenderSubSystem()); DebugRenderSubSystem *dr = new DebugRenderSubSystem(); scene->systemManager->addRenderSystem(dr); scene->setEffect(new PostProcessor(scene)); mainchar = addMainActor(scene); scene->addActor(addModel("Data/Model/mappa4.obj", vec3(-10, 0, -10), vec3(1.5))); scene->addActor(addModel("Data/Model/mappa5.obj", vec3(0), vec3(1.1))); scene->addActor(addAxis1()); // addLucy(scene); addParticleSystem(scene,new ParticleSystem(),vec3(10,0,20)); addParticleSystem(scene,new ParticleSystem1(),vec3(-20,0,20)); addSun(scene); loadScene(AssetManager::getBasePath() + "Data/Level/prova/", scene); loadScene(AssetManager::getBasePath() + "Data/Level/handmade/", scene); Debug("Setup done!\n\n\n\n\nPress F1 to switch to FreeCam\nPress F2 to spawn a light sphere\nPress F3 to get the position\n\n\n\nFor any question contact me at: [email protected]\n\n\n"); }
void ScenarioTest::doAutoTest() { isStating = false; statCount = 0; totalStatTime = 0.0f; minFrameRate = -1.0f; maxFrameRate = -1.0f; // remove all nodes while (_spriteArray.size() > 0) { removeSprites(); } while (_parsysArray.size() > 0) { removeParticleSystem(); } // add nodes auto caseInfo = autoTestCounts[autoTestIndex]; _particleNumber = 0; addNewSprites(caseInfo.spriteCount); addParticleSystem(caseInfo.particleSystemCount); addParticles(caseInfo.particleCount); schedule(CC_SCHEDULE_SELECTOR(ScenarioTest::beginStat), DELAY_TIME); schedule(CC_SCHEDULE_SELECTOR(ScenarioTest::endStat), DELAY_TIME + STAT_TIME); }
void ADParticleSystemCache::playParticleSystem( const char *pFileName, const CCPoint &pos ) { CCParticleSystem *pPart = addParticleSystem( pFileName ); pPart->setPosition( pos ); pPart->resetSystem(); }
void ScenarioTest::performTests() { auto listener = EventListenerTouchAllAtOnce::create(); listener->onTouchesMoved = CC_CALLBACK_2(ScenarioTest::onTouchesMoved, this); _eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this); _particleNumber = _initParticleNum; // get the window size & origin position auto s = Director::getInstance()->getVisibleSize(); auto origin = Director::getInstance()->getVisibleOrigin(); // add tile map _map1 = TMXTiledMap::create("TileMaps/iso-test.tmx"); _map1->setAnchorPoint( Vec2(0.5, 0.5) ); _map1->setPosition(origin); this->addChild(_map1); _map2 = TMXTiledMap::create("TileMaps/iso-test2.tmx"); _map2->setAnchorPoint( Vec2(0.5, 0.5) ); _map2->setPosition(origin); this->addChild(_map2); // add toggle menu item MenuItemFont::setFontSize(20); _itemToggle = MenuItemToggle::createWithCallback(nullptr, MenuItemFont::create( "Add/Remove Sprite" ), MenuItemFont::create( "Add/Remove Particle"), MenuItemFont::create( "Add/Remove Particle System"), nullptr); _itemToggle->setAnchorPoint(Vec2(0.0f, 0.5f)); _itemToggle->setPosition(Vec2(origin.x, origin.y + s.height / 2)); // add decrease & increase menu item MenuItemFont::setFontSize(65); auto decrease = MenuItemFont::create(" - ", [&](Ref *sender) { int idx = _itemToggle->getSelectedIndex(); switch (idx) { case 0: removeSprites(); break; case 1: removeParticles(); break; case 2: removeParticleSystem(); break; default: break; } }); decrease->setPosition(Vec2(origin.x + s.width / 2 - 80, origin.y + 80)); decrease->setColor(Color3B(0,200,20)); auto increase = MenuItemFont::create(" + ", [&](Ref *sender) { int idx = _itemToggle->getSelectedIndex(); switch (idx) { case 0: addNewSprites(_spriteStepNum); break; case 1: addParticles(_parStepNum); break; case 2: addParticleSystem(_parsysStepNum); break; default: break; } }); increase->setColor(Color3B(0,200,20)); increase->setPosition(Vec2(origin.x + s.width / 2 + 80, origin.y + 80)); auto menu = Menu::create(_itemToggle, decrease, increase, nullptr); menu->setPosition(Vec2(0.0f, 0.0f)); addChild(menu, 10); // add tip labels _spriteLabel = Label::createWithTTF("Sprites : 0", "fonts/arial.ttf", 15); _spriteLabel->setAnchorPoint(Vec2(0.0f, 0.5f)); addChild(_spriteLabel, 10); _spriteLabel->setPosition(Vec2(origin.x, origin.y + s.height/2 + 70)); char str[32] = { 0 }; sprintf(str, "Particles : %d", _particleNumber); _particleLabel = Label::createWithTTF(str, "fonts/arial.ttf", 15); _particleLabel->setAnchorPoint(Vec2(0.0f, 0.5f)); addChild(_particleLabel, 10); _particleLabel->setPosition(Vec2(origin.x, origin.y + s.height/2 + 45)); _parsysLabel = Label::createWithTTF("Particle System : 0", "fonts/arial.ttf", 15); _parsysLabel->setAnchorPoint(Vec2(0.0f, 0.5f)); addChild(_parsysLabel, 10); _parsysLabel->setPosition(Vec2(origin.x, origin.y + s.height/2 + 20)); // add sprites addNewSprites(_initSpriteNum); // add particle system addParticleSystem(_initParsysNum); }