void StoryWorld::leafletChoiceHandler(CCObject *sender) { int choice = ((CCNode *)sender)->getTag(); switch (choice) { case fChoice: { removeChildByTag(2); removeChildByTag(3); CCSprite *blackBG = CCSprite::create(LEAFLET_IMG_PATH); blackBG->setPosition(ccp(CCDirector::sharedDirector()->getVisibleSize().width/2, CCDirector::sharedDirector()->getVisibleSize().height/2)); blackBG->setScale(1); blackBG->setTag(21); addChild(blackBG, 2); CCMenuItemImage *start = CCMenuItemImage::create(LEAFLET_CLOSE_IMG_PATH, LEAFLET_CLOSE_IMG_PATH, this, menu_selector(StoryWorld::menuLeafletsCloseCallback)); start->setPosition(ccp(CCDirector::sharedDirector()->getVisibleSize().width-40, CCDirector::sharedDirector()->getVisibleSize().height-40)); CCMenu* pMenu = CCMenu::create(start, NULL); pMenu->setPosition(CCPointZero); pMenu->setTag(23); addChild(pMenu, 4); } return; case sChoice: default:{ specialPartSwitchCase('1'); } return; } }
void SelectReset::resetYes(Ref* pSender) { auto menuItem = (Menu*)getChildByTag(T_Menu); menuItem->setVisible(false); for(int name_id = 0;name_id < 27; name_id++) { const char * gameScoreRank = SaveSQL::sqliteGetRankForId(name_id); SaveSQL::sqliteUpdateCollectForScore(gameScoreRank,0); } auto resetScore = UserDefault::getInstance(); resetScore->setIntegerForKey("gameScore", 0); resetScore->setIntegerForKey("highScore", 0); resetScore->flush(); Label* complete = Label::createWithSystemFont("社会復帰しました!","Marker Felt", 60); complete->setColor(Color3B::BLUE); complete->setPosition(Vec2(WINSIZE.width/2,WINSIZE.height/2)); this->addChild(complete,Z_Label); removeChildByTag(T_Yes); removeChildByTag(T_No); Director::getInstance()->resume(); this->scheduleOnce(schedule_selector (SelectReset::close), 1.0f ); }
void GameScene::pauseResume(CCObject* obj) { CCDirector::sharedDirector()->resume(); removeChildByTag(TAG_NO_LAYER, true); removeChildByTag(TAG_MASK, true); removeChildByTag(TAG_TITLE, true); removeChildByTag(TAG_RESUME, true); }
void StoryWorld::menuLeafletsCloseCallback(CCObject* sender) { removeChildByTag(21); removeChildByTag(22); removeChildByTag(23); setTouchEnabled(true); // specialPartSwitchCase('1'); }
void StoryWorld::menuLeafletsCloseCallback(CCObject* sender) { removeChildByTag(21); removeChildByTag(22); removeChildByTag(23); setTouchEnabled(true); current+=1; CCUserDefault::sharedUserDefault()->setIntegerForKey("Process", current); CCUserDefault::sharedUserDefault()->flush(); CCEGLView::sharedOpenGLView()->setDesignResolutionSize(480, 320, kResolutionExactFit); CCDirector::sharedDirector()->popScene(); }
void FontTest::showFont(const char *pFont) { CCSize s = CCDirector::sharedDirector()->getWinSize(); CCSize blockSize = CCSizeMake(s.width/3, 200); float fontSize = 26; removeChildByTag(kTagLabel1, true); removeChildByTag(kTagLabel2, true); removeChildByTag(kTagLabel3, true); removeChildByTag(kTagLabel4, true); CCLabelTTF *top = CCLabelTTF::create(pFont, pFont, 24); CCLabelTTF *left = CCLabelTTF::create("alignment left", pFont, fontSize, blockSize, kCCTextAlignmentLeft, verticalAlignment[vAlignIdx]); CCLabelTTF *center = CCLabelTTF::create("alignment center", pFont, fontSize, blockSize, kCCTextAlignmentCenter, verticalAlignment[vAlignIdx]); CCLabelTTF *right = CCLabelTTF::create("alignment right", pFont, fontSize, blockSize, kCCTextAlignmentRight, verticalAlignment[vAlignIdx]); CCLayerColor *leftColor = CCLayerColor::create(ccc4(100, 100, 100, 255), blockSize.width, blockSize.height); CCLayerColor *centerColor = CCLayerColor::create(ccc4(200, 100, 100, 255), blockSize.width, blockSize.height); CCLayerColor *rightColor = CCLayerColor::create(ccc4(100, 100, 200, 255), blockSize.width, blockSize.height); leftColor->ignoreAnchorPointForPosition(false); centerColor->ignoreAnchorPointForPosition(false); rightColor->ignoreAnchorPointForPosition(false); top->setAnchorPoint(ccp(0.5, 1)); left->setAnchorPoint(ccp(0,0.5)); leftColor->setAnchorPoint(ccp(0,0.5)); center->setAnchorPoint(ccp(0,0.5)); centerColor->setAnchorPoint(ccp(0,0.5)); right->setAnchorPoint(ccp(0,0.5)); rightColor->setAnchorPoint(ccp(0,0.5)); top->setPosition(ccp(s.width/2,s.height-20)); left->setPosition(ccp(0,s.height/2)); leftColor->setPosition(left->getPosition()); center->setPosition(ccp(blockSize.width, s.height/2)); centerColor->setPosition(center->getPosition()); right->setPosition(ccp(blockSize.width*2, s.height/2)); rightColor->setPosition(right->getPosition()); this->addChild(leftColor, -1); this->addChild(left, 0, kTagLabel1); this->addChild(rightColor, -1); this->addChild(right, 0, kTagLabel2); this->addChild(centerColor, -1); this->addChild(center, 0, kTagLabel3); this->addChild(top, 0, kTagLabel4); }
void CardShop::Dlg2Callback(CCObject* pSender) { Dialog2Ret* ret = (Dialog2Ret*) pSender; if (ret->bOk) { buyCard(); removeChildByTag(888, true); } else { removeChildByTag(888, true); } }
void ControlLayer::updateScale() { removeChildByTag(4); int zoom = m_pControl->getZoomLevel(); addChild(m_ScaleList[zoom-1],4,4); }
void NumberOneScene::onImageClick(Ref* ref){ // MenuItemToggle *tog = (MenuItemToggle*)ref; // MenuItemFont *menuItem = (MenuItemFont*)tog->getSelectedItem(); // Label *lable = (Label*)menuItem ->getLabel(); // cout<< lable->getString() <<endl; if(flag){ Label *l = Label::createWithBMFont("fonts/bitmapFontChinese.fnt", "lanou"); Label *l2 = Label::createWithBMFont("fonts/bitmapFontChinese.fnt", "start"); Label *l3 = Label::createWithBMFont("fonts/bitmapFontChinese.fnt", "end"); MenuItemLabel *item1 = MenuItemLabel::create(l,CC_CALLBACK_1(NumberOneScene::menuCloseCallback, this)); MenuItemLabel *item2 = MenuItemLabel::create(l2,CC_CALLBACK_1(NumberOneScene::menuCloseCallback, this)); MenuItemLabel *item3 = MenuItemLabel::create(l3,CC_CALLBACK_1(NumberOneScene::menuCloseCallback, this)); Menu *menu2 = Menu::create(item1,item2,item3,NULL); menu2 -> alignItemsVerticallyWithPadding(50); menu2 -> setPosition(menu ->getPositionX() - 50,menu ->getPositionY() - menu2 ->getContentSize().height/4); this -> addChild(menu2); menu2 -> setTag(9990); flag = false; } else { removeChildByTag(9990); flag = true; } }
void PauseLayer::resumeCallBack(Ref *pSender) { CocosDenshion::SimpleAudioEngine::getInstance()->playEffect(s_btn_click); auto scene = Director::getInstance()->getRunningScene(); scene->removeChildByTag(PAUSE_LAYER); }
void CaptureScreenTest::onCaptured(Ref*) { Director::getInstance()->getTextureCache()->removeTextureForKey(_filename); removeChildByTag(childTag); _filename = "CaptureScreenTest.png"; utils::captureScreen(CC_CALLBACK_2(CaptureScreenTest::afterCaptured, this), _filename); }
void WelcomeLayer::welcomeLayerMenuItemCallback(cocos2d::Ref *pSender) { SimpleAudioEngine::getInstance()->playEffect("sfx_swooshing.ogg"); removeChildByTag(birdspriteTag); auto scene = GameScene::create(); TransitionScene *transition = TransitionFade::create(1, scene); Director::getInstance()->replaceScene(transition); }
void GameScene::showGameOver() { CCSprite* over = CCSprite::createWithSpriteFrameName("gameOver.png"); over->setPosition(ccp(screenSize.width * 0.5f, screenSize.height * 0.7f)); over->setScale(1.5f); addChild(over, 10); CCSprite* scoreBoard = CCSprite::createWithSpriteFrameName("score_board.png"); scoreBoard->setPosition(ccp(screenSize.width * 0.5f, screenSize.height * 0.5f)); scoreBoard->setScale(1.5f); addChild(scoreBoard, 10); CCLabelAtlas* curScore = CCLabelAtlas::create(CCString::createWithFormat("%d", gameScore)->getCString(), "score_number.png", 30, 45, '0'); curScore->setAnchorPoint(ccp(1, 0.5f)); curScore->setScale(0.75f); curScore->setPosition(ccp(screenSize.width * 0.78f, screenSize.height * 0.53f)); addChild(curScore, 10); int maxScore = CCUserDefault::sharedUserDefault()->getIntegerForKey("MAX", 0); if (gameScore > maxScore) { maxScore = gameScore; CCUserDefault::sharedUserDefault()->setIntegerForKey("MAX", gameScore); CCUserDefault::sharedUserDefault()->flush(); CCSprite* showNew = CCSprite::createWithSpriteFrameName("new.png"); showNew->setAnchorPoint(ccp(0, 0.5f)); showNew->setScale(1.5f); showNew->setPosition(ccp(screenSize.width * 0.78f, screenSize.height * 0.45f)); addChild(showNew, 10); } CCLabelAtlas* highScore = CCLabelAtlas::create(CCString::createWithFormat("%d", maxScore)->getCString(), "score_number.png", 30, 45, '0'); highScore->setAnchorPoint(ccp(1, 0.5f)); highScore->setScale(0.75f); highScore->setPosition(ccp(screenSize.width * 0.78f, screenSize.height * 0.45f)); addChild(highScore, 10); removeChildByTag(999); CCMenuItemSprite* item = CCMenuItemSprite::create(CCSprite::createWithSpriteFrameName("start.png"), CCSprite::createWithSpriteFrameName("start.png"), this, menu_selector(GameScene::restart)); item->setPosition(ccp(screenSize.width * 0.5f, screenSize.height * 0.3f)); CCMenu* menu = CCMenu::create(item, NULL); menu->setPosition(CCPointZero); addChild(menu, 10); if (gameScore >= 10) { CCSprite* metalName = NULL; if (gameScore >= 10 && gameScore < 50) { metalName = CCSprite::createWithSpriteFrameName("medals_1.png"); } else if (gameScore >= 50 && gameScore < 100) { metalName = CCSprite::createWithSpriteFrameName("medals_2.png"); } else if (gameScore >= 100) { metalName = CCSprite::createWithSpriteFrameName("medals_3.png"); } metalName->setScale(1.5f); metalName->setPosition(ccp(screenSize.width * 0.3f, screenSize.height * 0.495f)); addChild(metalName, 10); } }
void testEffect::Repeat(CCNode* sender){ removeChildByTag(9999); int tmp = ((CCMenuItemSprite*)sender)->getTag(); ASFightLayer* aaa = ASFightLayer::createAsFightLayer(tmp,4,true,1000,1,10000,6,10000,6); aaa->setPosition(CCPointZero); addChild(aaa,9999,9999); }
void EditLayer::drawSelectedRect( cocos2d::Sprite* sprite ) { assert(sprite); removeChildByTag(TAG_SELECTED_RECT); Size s = sprite->getContentSize(); auto draw = DrawNode::create(); draw->setTag(TAG_SELECTED_RECT); sprite->addChild(draw); draw->drawRect(Vec2::ZERO, Vec2(s.width, s.height), Color4F::WHITE ); }
void PauseLayer::restartCallBack(Ref *pSender) { CocosDenshion::SimpleAudioEngine::getInstance()->playEffect(s_btn_click); auto scene = Director::getInstance()->getRunningScene(); this->removeFromParent(); scene->removeChildByTag(GAME_LAYER); auto layer = GameLayer::create(); scene->addChild(layer, 0, GAME_LAYER); }
void E002_Base_ImageGuide::setBackground() { if(getChildByTag(kTagBG) != NULL) { removeChildByTag(kTagBG); } CJSprite* bg = CJSprite::create(CJUtils::getInstance()->getFilePath("img", mGuideItems->at(mCurrentPage)->getBackgroundImg(), true).c_str()); bg->setPosition(ccp(winSize.width/2, winSize.height/2)); addChild(bg, kDepth0_backImage, kTagBG); }
void FontTest::showFont(const std::string& fontFile) { auto s = Director::getInstance()->getWinSize(); auto blockSize = Size(s.width/3, 200); float fontSize = 26; removeChildByTag(kTagLabel1, true); removeChildByTag(kTagLabel2, true); removeChildByTag(kTagLabel3, true); removeChildByTag(kTagLabel4, true); removeChildByTag(kTagColor1, true); removeChildByTag(kTagColor2, true); removeChildByTag(kTagColor3, true); auto top = Label::createWithSystemFont(fontFile, fontFile, 24); auto left = Label::createWithSystemFont("alignment left", fontFile, fontSize, blockSize, TextHAlignment::LEFT, verticalAlignment[vAlignIdx]); auto center = Label::createWithSystemFont("alignment center", fontFile, fontSize, blockSize, TextHAlignment::CENTER, verticalAlignment[vAlignIdx]); auto right = Label::createWithSystemFont("alignment right", fontFile, fontSize, blockSize, TextHAlignment::RIGHT, verticalAlignment[vAlignIdx]); auto leftColor = LayerColor::create(Color4B(100, 100, 100, 255), blockSize.width, blockSize.height); auto centerColor = LayerColor::create(Color4B(200, 100, 100, 255), blockSize.width, blockSize.height); auto rightColor = LayerColor::create(Color4B(100, 100, 200, 255), blockSize.width, blockSize.height); leftColor->ignoreAnchorPointForPosition(false); centerColor->ignoreAnchorPointForPosition(false); rightColor->ignoreAnchorPointForPosition(false); top->setAnchorPoint(Vec2(0.5, 1)); left->setAnchorPoint(Vec2(0,0.5)); leftColor->setAnchorPoint(Vec2(0,0.5)); center->setAnchorPoint(Vec2(0,0.5)); centerColor->setAnchorPoint(Vec2(0,0.5)); right->setAnchorPoint(Vec2(0,0.5)); rightColor->setAnchorPoint(Vec2(0,0.5)); top->setPosition(s.width/2,s.height-20); left->setPosition(0,s.height/2); leftColor->setPosition(left->getPosition()); center->setPosition(blockSize.width, s.height/2); centerColor->setPosition(center->getPosition()); right->setPosition(blockSize.width*2, s.height/2); rightColor->setPosition(right->getPosition()); this->addChild(leftColor, -1, kTagColor1); this->addChild(left, 0, kTagLabel1); this->addChild(rightColor, -1, kTagColor2); this->addChild(right, 0, kTagLabel2); this->addChild(centerColor, -1, kTagColor3); this->addChild(center, 0, kTagLabel3); this->addChild(top, 0, kTagLabel4); }
void BrickBonus::animateDestroyBonus() { _type = EBACKGROUND; _id = BNone; stopActionByTag(ANIM_TAG); removeChildByTag(ANIM_TAG); if (_bonusSprite) { _bonusSprite->removeFromParent(); _bonusSprite = nullptr; } }
void SceneAchievements::updateAchievements() { int i; // start by getting rid of all the old achievements for(i=0; i<4*5; i++) // 4 element for each of 5 achivments on the page removeChildByTag(AchievementsTagItems+i); // figure out what achievements need displaying int start = pageNumber*5; int end = start+5; if(end >= ACHIEVEMENT_NUM) end = ACHIEVEMENT_NUM; // display them int curTag = AchievementsTagItems; int curItem = 0; for(i=start; i<end; i++) { Achievement a = Achievements::getInstance()->getAchievement(i); // row background IGSprite* spriteRowBackground = new IGSprite("achievements_row_background", IGPoint(160,116+68*curItem), 5, curTag); this->addChild(spriteRowBackground); curTag++; // name and description IGLabel* labelName = new IGLabel("font_gabriola_16b", a.name.c_str(), IGPoint(196,105+68*curItem), IGRect(232,34), 6, curTag); labelName->setColor(255,255,255,255); this->addChild(labelName); curTag++; IGLabel* labelDescription = new IGLabel("font_gabriola_14", a.description.c_str(), IGPoint(196,127+68*curItem), IGRect(232,34), 6, curTag); labelDescription->setColor(196,207,226,255); this->addChild(labelDescription); curTag++; // trophy if(a.achieved) { IGSprite* spriteTrophy = new IGSprite("achievements_trophy", IGPoint(44,116+68*curItem), 6, curTag); this->addChild(spriteTrophy); } else { IGSprite* spriteTrophy = new IGSprite("achievements_locked_trophy", IGPoint(44,116+68*curItem), 6, curTag); this->addChild(spriteTrophy); // dim everything out labelName->setOpacity(128); labelDescription->setOpacity(128); spriteTrophy->setOpacity(128); } curTag++; curItem++; } }
void HMenu::dissMiss() { switch (miState) { case 2: { removeChildByTag(RA_TAG); break; } default: break; } miState = 0; }
void StoryWorld::theFinalChoiceHandler(CCObject *sender) { int choice = ((CCNode *)sender)->getTag(); char fileName[FINAL_SCRIPT_PATH_LEN*2] = FINAL_SCRIPT_PATH; switch (choice) { case fChoice: fileName[FINAL_SCRIPT_PATH_LEN]='1'; break; case sChoice: fileName[FINAL_SCRIPT_PATH_LEN]='2'; break; case tChoice: fileName[FINAL_SCRIPT_PATH_LEN]='3'; break; default: break; } reader.ChangeFile(cocos2d::CCFileUtils::sharedFileUtils()->fullPathForFilename(fileName)); removeChildByTag(2); removeChildByTag(3); setTouchEnabled(true); avgGame(); }
void Block::changeType(BlockType newType) { _type = newType; switch (_type) { case BLOCK_STONE: _color = colorStone(); break; case BLOCK_GROUND: _color = colorGround(); break; case BLOCK_AIR: _color = colorAir(); break; default: break; } for (int i = 0; i <= 4; i++) { if (getChildByTag(i)) removeChildByTag(i); } }
void E002_Base_ImageGuide::showHandGuide() { if (getChildByTag(kTagHand) != NULL) { removeChildByTag(kTagHand); } CJSprite *hand = CJSprite::createWithCommonPath("e002_common_img_guide_hand.png"); hand->setPosition(mGuideItems->at(mCurrentPage)->getStartPosition()); hand->setOpacity(0); addChild(hand, kDepth1_actors, kTagHand); CJSprite *light; if (mGuideItems->at(mCurrentPage)->getEndPosition().x == mGuideItems->at(mCurrentPage)->getStartPosition().x && mGuideItems->at(mCurrentPage)->getEndPosition().y == mGuideItems->at(mCurrentPage)->getStartPosition().y) { hand->setOpacity(255); light = CJSprite::createWithCommonPath("e002_common_img_guide_hand_effect.png"); light->setPosition(ccp(mGuideItems->at(mCurrentPage)->getStartPosition().x - 80, mGuideItems->at(mCurrentPage)->getStartPosition().y + 80)); light->setOpacity(255); addChild(light, kDepth1_actors - 1); } if (light != NULL) { CCRepeat *repeat = CCRepeat::create(CCSequence::create(CCFadeIn::create(0.2f), CCFadeOut::create(0.2), NULL), -1); light->runAction(repeat); } else { CCRepeat *repeat = CCRepeat::create(CCSequence::create(CCFadeIn::create(0.2f), CCMoveTo::create(1.0f, mGuideItems->at(mCurrentPage)->getEndPosition()), CCFadeOut::create(0.2), CCMoveTo::create(0, mGuideItems->at(mCurrentPage)->getStartPosition()), CCDelayTime::create(0.5), NULL), -1); hand->runAction(repeat); } }
void RoadScene::LoadScene(){ removeChildByTag(12); CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize(); map = CCTMXTiledMap::create("road_castle.tmx"); this->setPosition(-visibleSize.width/2,0); screenpos = ccp(-visibleSize.width/2,0); addChild(map,0,1); map->addChild(player,5,1024); player->setPosition(ccp(visibleSize.width+320, visibleSize.height/2)); CCRPGJoystick* controller = CCRPGJoystick::create(); controller->initJoyStick(this); addChild(controller,1); controller->setSceneScrollPosition(player->getPosition()); CCRPGTalkBox* box1 = CCRPGTalkBox::create(12, "dialog-box.png", "2_1.txt", 13, CCSizeMake(800, 200), 1,NULL,this,screenpos); addChild(box1,9999,12); box1->NextText(); }
bool GameScene::ccTouchBegan(CCTouch* pTouch, CCEvent* pEvent) { if (isGameOver) { return true; } if (isShowingHint) { removeChildByTag(TAG_HINT, true); isShowingHint = false; CCSprite* bird = (CCSprite*)getChildByTag(TAG_BIRD); if (bird) { bird->stopAllActions(); CCAnimation* animation = CCAnimation::create(); for (int i = 0; i < 3; i++) { CCString* birdName = CCString::createWithFormat("bird%d_%d.png", birdID, i); CCSpriteFrame* frame = CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(birdName->getCString()); animation->addSpriteFrame(frame); } animation->setDelayPerUnit(0.08f); CCAnimate* animate = CCAnimate::create(animation); CCRepeatForever* repeat = CCRepeatForever::create(animate); bird->runAction(repeat); } CCLabelAtlas* score = CCLabelAtlas::create("0", "score_number.png", 30, 45, '0'); score->setAnchorPoint(ccp(0.5f, 0.5f)); score->setPosition(ccp(screenSize.width * 0.5f, screenSize.height * 0.85f)); score->setScale(1.5f); addChild(score, 10, 999); schedule(schedule_selector(GameScene::pipeCreate), 1.5f, 99999, 2.0f); scheduleUpdate(); } birdFlyLogic(); return true; }
void EditLayer::showGrid( bool isShow ) { float interval = GlobalData::getInstance()->getGridInterval(); removeChildByTag(TAG_EDIT_GRID); if (!isShow) return; float width = VisibleRect::getVisibleRect().size.width; float height = VisibleRect::getVisibleRect().size.height; auto draw = DrawNode::create(); for (float i = 0; i <= width; i += interval) { draw->drawLine(Vec2(i, 0), Vec2(i, height), Color4F(1.0, 1.0, 1.0, 0.5)); } for (float j = 0; j <= height; j += interval) { draw->drawLine(Vec2(0, j), Vec2(width, j), Color4F(1.0, 1.0, 1.0, 0.5)); } draw->setOpacity(0); addChild(draw, kZorderGrid, TAG_EDIT_GRID); }
void SceneLeadersboard::updateLeadersboard() { int i; // start by getting rid of all the old achievements for(i=0; i<4*5; i++) // 4 element for each of 5 achivments on the page removeChildByTag(LeadersboardTagItems+i); // figure out what achievements need displaying int start = pageNumber*5; int end = start+5; if(end >= LEADERSBOARD_NUM) end = LEADERSBOARD_NUM; // display them int curTag = LeadersboardTagItems; int curItem = 0; for(i=start; i<end; i++) { LeadersboardScore a = Leadersboard::getInstance()->getLeadersboardScore(i); // row background IGSprite* spriteRowBackground = new IGSprite("achievements_row_background", IGPoint(160,116+68*curItem), 5, curTag); this->addChild(spriteRowBackground); curTag++; // name and description IGLabel* labelName = new IGLabel("font_gabriola_16b", a.name.c_str(), IGPoint(196,105+68*curItem), IGRect(232,34), 6, curTag); labelName->setColor(255,255,255,255); this->addChild(labelName); curTag++; const char *score = f_ssprintf("level %d (in %d seconds)", a.level, a.sec); IGLabel* labelDescription = new IGLabel("font_gabriola_14", score, IGPoint(196,127+68*curItem), IGRect(232,34), 6, curTag); labelDescription->setColor(196,207,226,255); this->addChild(labelDescription); curTag++; curItem++; } }
// clean up on exit void TransitionProgress::onExit() { // remove our layer and release all containing objects removeChildByTag(kSceneRadial, true); TransitionScene::onExit(); }
void ParticleMainScene::createParticleSystem() { CCParticleSystem *particleSystem = NULL; /* * Tests: * 1: Point Particle System using 32-bit textures (PNG) * 2: Point Particle System using 16-bit textures (PNG) * 3: Point Particle System using 8-bit textures (PNG) * 4: Point Particle System using 4-bit textures (PVRTC) * 5: Quad Particle System using 32-bit textures (PNG) * 6: Quad Particle System using 16-bit textures (PNG) * 7: Quad Particle System using 8-bit textures (PNG) * 8: Quad Particle System using 4-bit textures (PVRTC) */ removeChildByTag(kTagParticleSystem, true); // remove the "fire.png" from the TextureCache cache. CCTexture2D *texture = CCTextureCache::sharedTextureCache()->addImage("Images/fire.png"); CCTextureCache::sharedTextureCache()->removeTexture(texture); //TODO: if (subtestNumber <= 3) // { // particleSystem = new CCParticleSystemPoint(); // } // else { particleSystem = new CCParticleSystemQuad(); } switch( subtestNumber) { case 1: CCTexture2D::setDefaultAlphaPixelFormat(kCCTexture2DPixelFormat_RGBA8888); particleSystem->initWithTotalParticles(quantityParticles); particleSystem->setTexture(CCTextureCache::sharedTextureCache()->addImage("Images/fire.png")); break; case 2: CCTexture2D::setDefaultAlphaPixelFormat(kCCTexture2DPixelFormat_RGBA4444); particleSystem->initWithTotalParticles(quantityParticles); particleSystem->setTexture(CCTextureCache::sharedTextureCache()->addImage("Images/fire.png")); break; case 3: CCTexture2D::setDefaultAlphaPixelFormat(kCCTexture2DPixelFormat_A8); particleSystem->initWithTotalParticles(quantityParticles); particleSystem->setTexture(CCTextureCache::sharedTextureCache()->addImage("Images/fire.png")); break; // case 4: // particleSystem->initWithTotalParticles(quantityParticles); // ////---- particleSystem.texture = [[CCTextureCache sharedTextureCache] addImage:@"fire.pvr"]; // particleSystem->setTexture(CCTextureCache::sharedTextureCache()->addImage("Images/fire.png")); // break; case 4: CCTexture2D::setDefaultAlphaPixelFormat(kCCTexture2DPixelFormat_RGBA8888); particleSystem->initWithTotalParticles(quantityParticles); particleSystem->setTexture(CCTextureCache::sharedTextureCache()->addImage("Images/fire.png")); break; case 5: CCTexture2D::setDefaultAlphaPixelFormat(kCCTexture2DPixelFormat_RGBA4444); particleSystem->initWithTotalParticles(quantityParticles); particleSystem->setTexture(CCTextureCache::sharedTextureCache()->addImage("Images/fire.png")); break; case 6: CCTexture2D::setDefaultAlphaPixelFormat(kCCTexture2DPixelFormat_A8); particleSystem->initWithTotalParticles(quantityParticles); particleSystem->setTexture(CCTextureCache::sharedTextureCache()->addImage("Images/fire.png")); break; // case 8: // particleSystem->initWithTotalParticles(quantityParticles); // ////---- particleSystem.texture = [[CCTextureCache sharedTextureCache] addImage:@"fire.pvr"]; // particleSystem->setTexture(CCTextureCache::sharedTextureCache()->addImage("Images/fire.png")); // break; default: particleSystem = NULL; CCLOG("Shall not happen!"); break; } addChild(particleSystem, 0, kTagParticleSystem); particleSystem->release(); doTest(); // restore the default pixel format CCTexture2D::setDefaultAlphaPixelFormat(kCCTexture2DPixelFormat_RGBA8888); }