mirror of https://github.com/axmolengine/axmol.git
Merge pull request #1869 from minggo/iss1639_CCBReader
fixed #1639:add CCBEaseInstant
This commit is contained in:
commit
e2bf772997
|
@ -458,10 +458,14 @@ void CCBAnimationManager::setFirstFrame(CCNode *pNode, CCBSequenceProperty *pSeq
|
||||||
|
|
||||||
CCActionInterval* CCBAnimationManager::getEaseAction(CCActionInterval *pAction, int nEasingType, float fEasingOpt)
|
CCActionInterval* CCBAnimationManager::getEaseAction(CCActionInterval *pAction, int nEasingType, float fEasingOpt)
|
||||||
{
|
{
|
||||||
if (nEasingType == kCCBKeyframeEasingLinear || nEasingType == kCCBKeyframeEasingInstant)
|
if (nEasingType == kCCBKeyframeEasingLinear)
|
||||||
{
|
{
|
||||||
return pAction;
|
return pAction;
|
||||||
}
|
}
|
||||||
|
else if (nEasingType == kCCBKeyframeEasingInstant)
|
||||||
|
{
|
||||||
|
return CCBEaseInstant::create(pAction);
|
||||||
|
}
|
||||||
else if (nEasingType == kCCBKeyframeEasingCubicIn)
|
else if (nEasingType == kCCBKeyframeEasingCubicIn)
|
||||||
{
|
{
|
||||||
return CCEaseIn::create(pAction, fEasingOpt);
|
return CCEaseIn::create(pAction, fEasingOpt);
|
||||||
|
@ -689,6 +693,8 @@ void CCBAnimationManager::sequenceCompleted()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Custom actions
|
||||||
|
|
||||||
/************************************************************
|
/************************************************************
|
||||||
CCBSetSpriteFrame
|
CCBSetSpriteFrame
|
||||||
************************************************************/
|
************************************************************/
|
||||||
|
@ -814,4 +820,35 @@ void CCBRotateTo::update(float time)
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/************************************************************
|
||||||
|
CCBEaseInstant
|
||||||
|
************************************************************/
|
||||||
|
CCBEaseInstant* CCBEaseInstant::create(CCActionInterval *pAction)
|
||||||
|
{
|
||||||
|
CCBEaseInstant *pRet = new CCBEaseInstant();
|
||||||
|
if (pRet && pRet->initWithAction(pAction))
|
||||||
|
{
|
||||||
|
pRet->autorelease();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
CC_SAFE_RELEASE_NULL(pRet);
|
||||||
|
}
|
||||||
|
|
||||||
|
return pRet;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CCBEaseInstant::update(float dt)
|
||||||
|
{
|
||||||
|
if (dt < 0)
|
||||||
|
{
|
||||||
|
m_pInner->update(0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_pInner->update(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
NS_CC_EXT_END
|
NS_CC_EXT_END
|
||||||
|
|
|
@ -143,6 +143,14 @@ public:
|
||||||
virtual void startWithTarget(CCNode *pNode);
|
virtual void startWithTarget(CCNode *pNode);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class CCBEaseInstant : public CCActionEase
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
static CCBEaseInstant* create(CCActionInterval *pAction);
|
||||||
|
|
||||||
|
virtual void update(float dt);
|
||||||
|
};
|
||||||
|
|
||||||
NS_CC_EXT_END
|
NS_CC_EXT_END
|
||||||
|
|
||||||
#endif // __CCB_CCBANIMATION_MANAGER_H__
|
#endif // __CCB_CCBANIMATION_MANAGER_H__
|
||||||
|
|
Loading…
Reference in New Issue