コード例 #1
0
ファイル: GameUILayer.cpp プロジェクト: AIRIA/CreazyBomber
void GameUILayer::_updatePlayerInfoHandler(cocos2d::Ref *pSender)
{
    auto param = static_cast<PlayerInfoParam*>(pSender);
    auto wrapper = getChildByTag(kTagWraper);
    auto label = static_cast<Label*>(wrapper->getChildByTag(param->getType()));
    
    auto action = label->getActionByTag(100);
    if(param->getValue()==0)
    {
        label->stopAllActions();
        label->setScale(1.0f);
    }else if(action==nullptr&&param->getType()!=PlayerInfoParam::kTypeCoin){
        auto scaleBig = ScaleBy::create(0.4f, 1.5f);
        auto scaleSmall = scaleBig->reverse();
        auto seq = Sequence::create(scaleBig,scaleSmall, NULL);
        auto rep = RepeatForever::create(seq);
        rep->setTag(100);
        label->runAction(rep);
    }
    if(param->getType()==PlayerInfoParam::kTypeCoin)
    {
        char buffer[50];
        sprintf(buffer, "%06d",param->getValue());
        label->setString(buffer);
    }else{
        label->setString(Util::itoa(param->getValue()));
    }
}
コード例 #2
0
ファイル: TitleScene.cpp プロジェクト: 7thVoice/7thVoice
void TitleScene::update(float dt) {
    auto human = (Sprite *)this->getChildByTag(1);

    if (human->getActionByTag(1)) {
        return;
    }
    this->removeChildByTag(1);

    addHuman();
}
コード例 #3
0
ファイル: GameEntityView.cpp プロジェクト: keless/CastEngine
void GameEntityView::doShake()
{
	//CCLog("shake entity view ");
#define SHAKE_TAG 0xDEADBEEF
	if( getActionByTag(SHAKE_TAG) == NULL ) {
		CCSequence* shake = CCSequence::create(
			CCRotateBy::create(0.1f, 10, 0),
			CCRotateBy::create(0.2f, -20, 0),
			CCRotateBy::create(0.1f, 10, 0), 
			NULL);
		shake->setTag(SHAKE_TAG);

		runAction(shake);
	}
}
コード例 #4
0
ファイル: FZMenuItem.cpp プロジェクト: bambamyi/FORZE2D
    void MenuItemLabel::selected()
    {
        // subclass to change the default action
        if(m_isEnabled) {

            MenuItem::selected();
            
            Action *action = getActionByTag(kZoomActionTag);
            if( action )
                stopAction(action);
            else
                m_originalScale = getScale();
            
            Action *zoomAction = new ScaleTo(0.1f, m_originalScale * 1.2f);
            zoomAction->setTag(kZoomActionTag);
            runAction(zoomAction);
        }
    }
コード例 #5
0
ファイル: SpriteButton.cpp プロジェクト: ikermendi/Ikasitz
void SpriteButton::ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent)
{
    m_state = kSpriteStateUngrabbed;
    
    CCAction *action = getActionByTag(kZoomActionTag);
    
    if (action)
    {
        stopAction(action);
    }
    
    float scaleValue = 1.0f * scale;

    CCAction *zoomAction = CCScaleTo::create(0.05f, scaleValue);
    zoomAction->setTag(kZoomActionTag);
    runAction(zoomAction);
      
    (m_pListener->*m_pfnSelector)(this);
}
コード例 #6
0
ファイル: CCMenuItem.cpp プロジェクト: Ratel13/WarriorQuest
void MenuItemLabel::selected()
{
    // subclass to change the default action
    if(_enabled)
    {
        MenuItem::selected();
        
        Action *action = getActionByTag(kZoomActionTag);
        if (action)
        {
            this->stopAction(action);
        }
        else
        {
            _originalScale = this->getScale();
        }
        
        Action *zoomAction = ScaleTo::create(0.1f, _originalScale * 1.2f);
        zoomAction->setTag(kZoomActionTag);
        this->runAction(zoomAction);
    }
}
コード例 #7
0
ファイル: CCMenuItem.cpp プロジェクト: fordream/quick
void CCMenuItemLabel::selected()
{
    // subclass to change the default action
    if(m_bEnabled)
    {
        CCMenuItem::selected();

        CCAction *action = getActionByTag(kZoomActionTag);
        if (action)
        {
            this->stopAction(action);
        }
        else
        {
            m_fOriginalScale = this->getScale();
        }

        CCAction *zoomAction = CCScaleTo::create(0.1f, m_fOriginalScale * 1.2f);
        zoomAction->setTag(kZoomActionTag);
        this->runAction(zoomAction);
    }
}
コード例 #8
0
void GameMenuItem::selected()
{
	// subclass to change the default action
	if(m_bIsEnabled)
	{
		CCMenuItem::selected();

		CCAction *action = getActionByTag(kZoomActionTag);
		if (action)
		{
			this->stopAction(action);
		}
		else
		{
			m_fOriginalScale = this->getScale();
		}

		CCAction *zoomAction = CCEaseElasticOut::create(CCScaleTo::create(0.5f, m_fOriginalScale * mScaleFactor));
		zoomAction->setTag(kZoomActionTag);
		this->runAction(zoomAction);
	}
}
コード例 #9
0
ファイル: SpriteButton.cpp プロジェクト: ikermendi/Ikasitz
bool SpriteButton::ccTouchBegan(CCTouch *touch, CCEvent *pEvent)
{
    
    if (m_state != kSpriteStateUngrabbed) return false;
    if ( !containsTouchLocation(touch) ) return false;
    
    m_state = kSpriteStateGrabbed;
    
    CCAction *action =getActionByTag(kZoomActionTag);
    
    if (action)
    {
        stopAction(action);
    }
    
    float scaleValue = 1.1f * scale;
    CCAction *zoomAction = CCScaleTo::create(0.05f, scaleValue);
    zoomAction->setTag(kZoomActionTag);
    runAction(zoomAction);
        
    return true;
}
コード例 #10
0
void AnimationManager::removeActionsByTag(const int tag, Node *node){
	auto am = Director::getInstance()->getActionManager();
	while (am->getActionByTag(tag, node)){
		am->removeActionByTag(tag, node);
	}
}
コード例 #11
0
ファイル: Player.cpp プロジェクト: elipmoc/cocos2dx
void Player::update(float dt) {
	//////////爆風に当たってたらゲームオーバーにする///////////
	if (scene->mapcontrol->getblock(getPosition())->firenull() == false) {
		gameover();
	}
	///////enterキーでボム設置///////////////
	if (obsevekey->getkey((Observekey::Key)playerkey.bomset) == 2
		&& bomcon->getChildrenCount()<maximumbom) {
		bomset();
	}
	//////主人公移動////////////////////////
	//主人公がmoveアニメーションしていないとき
	if (getActionByTag(1) == nullptr) {
		static int x = 0, y = 0;
		if (obsevekey->getkey((Observekey::Key)playerkey.right) != 0) {

			if (x == 16 && y == 0) {}
			else {
				setTexture("シロボン右.png");
				stopActionByTag(2);
				runAction(action[RIGHT]);
				x = 16; y = 0;
			}
		}
		else if (obsevekey->getkey((Observekey::Key)playerkey.left) != 0) {
			if (x == -16 && y == 0) {}
			else {
				setTexture("シロボン左.png");
				stopActionByTag(2);
				runAction(action[LEFT]);
				x = -16; y = 0;
			}
		}
		else if (obsevekey->getkey((Observekey::Key)playerkey.up) != 0) {
			if (x == 0 && y == 16) {}
			else {
				setTexture("シロボン前.png");
				stopActionByTag(2);
				runAction(action[FRONT]);
				x = 0; y = 16;
			}
		}
		else if (obsevekey->getkey((Observekey::Key)playerkey.down) != 0) {
			if (x == 0 && y == -16) {}
			else {
				setTexture("シロボン後.png");
				stopActionByTag(2);
				runAction(action[BACK]);
				x = 0; y = -16;
			}
		}
		else { stopActionByTag(2); x = 0; y = 0; return; }
		//移動先に障害物がないとき
		if (scene->mapcontrol->getblock(Vec2(getPositionX() + x,getPositionY() + y))->obstaclecheck() == false) {
			//1ブロック分移動
			auto move = MoveBy::create(speed, Vec2(x, y));
			move->setTag(1);
			runAction(move);
		}

	}
}