void Effect::begin() { if(!effectIsInitialized) { if(getParentSceneObject() != NULL) { effectIsInitialized = true; initEffect(); } else { SWARNING << "Effect::begin() :The effect is not associated with a Scene Object yet."; } } if(isPausedFlag) { SWARNING << "Effect::begin() :The effect is paused. Use unpause() instead of begin()"; } else if(effectIsInitialized) { inheritedBegin(); produceEffectBegan(); isPlayingFlag = true; } else { SWARNING << "Effect::begin() : The effect is not initialized yet."; } }
void CHeroEvolveEffectLayer::showEffect( CHero *pBaseHero, CHero *pHero, CCPoint posAim, CLayout* pSkillPanel, HeroEvolveEffectuUnlockType iType ) { this->setVisible(true); m_pBaseHero = pBaseHero; m_pAimHero = pHero; m_posAim = posAim; if(pSkillPanel != nullptr) { if(m_pSkillPanel == nullptr || m_pSkillPanel->getParent()==nullptr) { if( m_pSkillPanel != nullptr ) { m_pSkillBg->removeChildByTag(255, true); } m_pSkillPanel = pSkillPanel; m_pSkillPanel->setPosition(ccp(m_pSkillBg->getContentSize().width/2, m_pSkillBg->getContentSize().height/2)); m_pSkillBg->addChild(m_pSkillPanel, 10); } else { m_pSkillPanel = pSkillPanel; } } else { m_pSkillPanel = pSkillPanel; } m_pSkillBg->setVisible(false); m_eUnLockType = iType; //更新显示数据 updateData(); //骨骼1播放-播完-飞到目标位置 //骨骼2播放1-属性增加动画-需要切入程序界面 //骨骼2播放2-技能/格子/天赋开启-需要切入程序动画 //图集选择 removeAllPlistFile(); loadPlistFileWithRank(m_pAimHero->quality); initEffect(); //隐藏解锁骨骼动画 m_pEffectForChange->setVisible(false); //基础动画1.1-等待飞入事件传入 m_pEffectBase->setVisible(true); m_pEffectBase->setScale(1.0f); m_pEffectBase->setPosition(VCENTER); m_pEffectBase->getAnimation()->playWithIndex(0, 0.01f); }
void VisualMatrix::init() { initSprite(); initEffect(); initMatrix(); initStats(); initState(); }
void Init() { initD3D(); initParticles(); initVertexData(); initRectangleVertexes(); initEffect(); }
void SpriteMonsterArcher::playEffect(SkillInfo info) { initEffect(info.effectId); CCNode * effectNode = getFreeEffectNode(); if (!effectNode) { return; } float distance = ccpDistance(info.startPosition, info.endPosition); float speed = info.speed * 16; CCPoint directVec = ccpSub(info.endPosition, info.startPosition); float degree; degree = atan(directVec.x / directVec.y) * 180 / 3.14; if (directVec.y < 0) { degree += 180; } CCPoint startCell = LevelManager::sShareInstance()->pointPixelToCell(info.startPosition); CCPoint endCell = LevelManager::sShareInstance()->pointPixelToCell(info.endPosition); //CCLOG("arrow start pos: %f, %f, end pos: %f, %f", startCell.x, startCell.y, endCell.x, endCell.y); effectNode->setPosition(info.startPosition); effectNode->setRotation(degree); CCArray *arrayOfActions = CCArray::create(); CCDelayTime * delayEffect = CCDelayTime::create(info.delayTime / 1000); CCCallFunc *showFunc = CCCallFuncND::create(this, callfuncND_selector(SpriteMonster::ccCallShowEffect), (void *)effectNode); CCMoveTo * moveEffect = CCMoveTo::create(distance / speed, info.endPosition); CCCallFunc *hideFunc = CCCallFuncND::create(this, callfuncND_selector(SpriteMonster::ccCallHideEffect), (void *)effectNode); arrayOfActions->addObject(delayEffect); arrayOfActions->addObject(showFunc); arrayOfActions->addObject(moveEffect); arrayOfActions->addObject(hideFunc); CCFiniteTimeAction *sequence = CCSequence::create(arrayOfActions); effectNode->stopAllActions(); effectNode->runAction(sequence); return; }
Graphics::Graphics() { mBufferFactory = new BufferFactory(); initBuffers(); initEffect(); initFonts(); mWhiteTexture = loadTexture("data/imgs/white.bmp"); // TESTING.. D3DVERTEXELEMENT9 elems[MAX_FVF_DECL_SIZE]; UINT numElems = 0; VertexPNT::Decl->GetDeclaration(elems, &numElems); D3DXCreateMesh(2, 4, D3DXMESH_MANAGED, elems, gd3dDevice, &mRayMesh); onResetDevice(); }
void TestScene::LoadContent() { debugDraw = new GameDebugDraw(GameGlobal::GetCurrentSpriteHandler()); drawBezier = new GameDebugDraw(GameGlobal::GetCurrentSpriteHandler()); drawBezier->setLineSize(1.6f); debugDraw->setLineSize(3); speed = 1.0; t = 0; frameDelay = 0; numSprite = 10; xDistance = yDistance = 0; timer = 0; posMove = 0; dotDistance = 0; dotDistanceCounter = 0; isPause = false; isDebugDraw = false; isUseMouse = false; isDrawBezier = false; dot = new Sprite("dot.png"); dot2 = new Sprite("dot2.png"); //khoi tao cac control point - bezier bac 2 points.push_back(D3DXVECTOR2(100, 100)); points.push_back(D3DXVECTOR2(400, 300)); points.push_back(D3DXVECTOR2(200, 600)); updateFullPoints(); for (size_t i = 0; i < numSprite; i++) { sprites.push_back(new Sprite("test.png")); } previousPoint = CalculateSinglePoint(0, points); initEffect(); }
RenderInterfaceDx11::RenderInterfaceDx11(HWND p_hWnd, int _techNr, int _passNr, int p_width, int p_height) { m_hWnd = p_hWnd; m_width = p_width; m_height = p_height; techNr = _techNr; passNr = _passNr; initDevice(); initEffect(); D3D11_RASTERIZER_DESC rasterizerDesc; rasterizerDesc.FillMode = D3D11_FILL_SOLID; rasterizerDesc.CullMode = D3D11_CULL_BACK; rasterizerDesc.FrontCounterClockwise = TRUE; // Changed it from CounterClockwise false to true, since it otherwise will be culled rasterizerDesc.DepthClipEnable = TRUE; rasterizerDesc.AntialiasedLineEnable = FALSE; rasterizerDesc.MultisampleEnable = FALSE; rasterizerDesc.DepthBias = 0; rasterizerDesc.DepthBiasClamp = 0.0f; rasterizerDesc.SlopeScaledDepthBias = 0.0f; rasterizerDesc.ScissorEnable = false; HR(m_device->CreateRasterizerState(&rasterizerDesc, &rs_scissorsOff)); rasterizerDesc.ScissorEnable = true; HR(m_device->CreateRasterizerState(&rasterizerDesc, &rs_scissorsOn)); m_context->RSSetState(rs_scissorsOff); defineInputElementDesc(); defineBlendState(); initPipeline(); initFxVars(); initDefaultTex(); }
bool GameScene::init() { if (!Layer::init())return false; initPlist(); initEffect(); //set game status Config::getInstance()->setGameSatus(ING); Config::getInstance()->setScore(0);//rest score //loding effect auto _SimpleAudioEngine = SimpleAudioEngine::getInstance(); _SimpleAudioEngine->preloadEffect(air_shoot_effect1); _SimpleAudioEngine->preloadEffect(ship_explode_effect0); //init game map //init enemy type switch (levelNum) { case GAMEMAP1://0 if (Config::getInstance()->getmusicState()) { auto simpleAudio = SimpleAudioEngine::getInstance(); simpleAudio->preloadBackgroundMusic(battle_bg_stage0); simpleAudio->setBackgroundMusicVolume(1.0f); simpleAudio->playBackgroundMusic(battle_bg_stage0, true); } addMap("Map1.png"); levelScore = BOOS_LEVEL1; break; case GAMEMAP2://1 if (Config::getInstance()->getmusicState()) { auto simpleAudio = SimpleAudioEngine::getInstance(); simpleAudio->preloadBackgroundMusic(battle_bg_stage1); simpleAudio->setBackgroundMusicVolume(1.0f); simpleAudio->playBackgroundMusic(battle_bg_stage1, true); } addMap("Map2.png"); levelScore = BOOS_LEVEL2; //add particle Kit::addParticle(snow_plist, this, VisibleRect::top()); break; case GAMEMAP3://2 if (Config::getInstance()->getmusicState()) { auto simpleAudio = SimpleAudioEngine::getInstance(); simpleAudio->preloadBackgroundMusic(battle_bg_stage2); simpleAudio->setBackgroundMusicVolume(1.0f); simpleAudio->playBackgroundMusic(battle_bg_stage2, true); } addMap("Map3.png"); levelScore = BOOS_LEVEL3; break; case GAMEMAP4://3 if (Config::getInstance()->getmusicState()) { auto simpleAudio = SimpleAudioEngine::getInstance(); simpleAudio->preloadBackgroundMusic(battle_bg_stage2); simpleAudio->setBackgroundMusicVolume(1.0f); simpleAudio->playBackgroundMusic(battle_bg_stage2, true); } addMap("Map4.png"); levelScore = BOOS_LEVEL4; //add fire paticle Kit::addParticle(battle_fire_bg_particle_plist, this, VisibleRect::top()); break; default: log("there's no game map to do !"); return false; break; } //add logo one top-left auto logoShip = Sprite::createWithSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName(SHIP_FILE_NAME)); float offset = logoShip->getContentSize().width / 2; logoShip->setScale(0.8f); auto winsize = Director::getInstance()->getWinSize(); logoShip->setPosition(Vec2(offset, winsize.height - offset)); this->addChild(logoShip, SHIP_Z_ORDER); //set life value beside of logoShip Config::getInstance()->setShipLife(SHIP_LIFES); __String life("X"); life.appendWithFormat("%02d", Config::getInstance()->getShipLife()); lifeValue = Label::createWithSystemFont(life.getCString(), "Arial", 12); lifeValue->setPosition(Vec2(offset * 3, winsize.height - offset)); lifeValue->setColor(Color3B::RED); this->addChild(lifeValue, SHIP_Z_ORDER); //add score __String tempscore("得分:"); tempscore.appendWithFormat("%07d", Config::getInstance()->getScore()); score = Label::createWithSystemFont(tempscore.getCString(), "Arial", 12); score->setPosition(Vec2(winsize.width - 45, winsize.height - offset)); score->setColor(Color3B::RED); this->addChild(score, SHIP_Z_ORDER); ship = Ship::creatShip(this, 0, SHIP_LIFE_VALUE); auto initPosition = VisibleRect::center(); ship->setPosition(Vec2(initPosition.x, initPosition.y - 120.0f)); this->addChild(ship, SHIP_Z_ORDER); //add bone btn auto bone_btn_sprite = Sprite::create(btn_bone_res); bone_btn_sprite->setScale(0.8f); auto bone_btn = MenuItemSprite::create(bone_btn_sprite, nullptr, [&](Ref* _bone_btn){ //处理炸弹效果 log("bone released ......"); //can shake auto j = JumpBy::create(0.5f, Vec2::ZERO, 5, 5); this->runAction(j); auto config = Config::getInstance(); //remove enemy and bullet for (auto bullet : *config->enemy_bullet_list) { bullet->boneDestory(); } for (auto enemy : *config->enemy_list) { //effect it log("effect it ......"); enemy->boneDestory(this); } config->enemy_bullet_list->clear(); config->enemy_list->clear(); }); auto menue = Menu::create(bone_btn, NULL); menue->setPosition(Vec2(35, 200)); this->addChild(menue, BTN_BACK_Z_ORDER); menue->runAction(Kit::creatEaseSineInOut(100.0f)); //add back btn auto btn_sprite = Sprite::createWithTexture(Director::getInstance()->getTextureCache()->addImage(btn_back_res)); btn_sprite->setColor(Color3B(0, 245, 255)); auto btn_back = MenuItemSprite::create(btn_sprite, nullptr, [&](Ref* item){ auto menuSprite = (MenuItemSprite*)item; auto scale = ScaleBy::create(0.2f, 1.1); auto jumpToGameLevel = CallFunc::create([](){ auto config=Config::getInstance(); if (config->getmusicState()) SimpleAudioEngine::getInstance()->stopBackgroundMusic();// 停止当前背景音乐 if (config->getmusicState()) { SimpleAudioEngine::getInstance()->playBackgroundMusic(main_bg_stage1, true); } Director::getInstance()->replaceScene(TransitionFade::create(1.2f, GameLevelLayer::creatScene())); }); //call back std::function<void()> releaseResources = [&](){ this->releaseR(); }; menuSprite->runAction(Sequence::create(CallFunc::create(releaseResources), scale, scale->reverse(), jumpToGameLevel, NULL)); }); menue = Menu::create(btn_back, NULL); auto btn_back_position = VisibleRect::rightBottom(); offset = btn_sprite->getContentSize().width / 2; menue->setPosition(Vec2(btn_back_position.x - 50, btn_back_position.y + 25)); this->addChild(menue, BTN_BACK_Z_ORDER); menue->runAction(Kit::creatEaseSineInOut(100.0f)); //添加敌机 this->schedule(schedule_selector(GameScene::addEnemy), 2.0f, kRepeatForever, 1.2f); this->scheduleUpdate(); //初始化地图移动 this->scheduleOnce(schedule_selector(GameScene::initMoveMap), 1.2f); return true; }
void Layer::setEffect(byte id) { effect = id; initEffect(); }
void HomeScreen::init() { initSprite(); initEffect(); }
void Background::init() { initSprite(); initEffect(); }