#include "RULbNumberIncrease.h" NS_RU_BEGIN //=====class LbNumberIncrease===== LbNumberIncrease* LbNumberIncrease::create(const float duration, const int start_value, const int end_value) { LbNumberIncrease* action = new(std::nothrow) LbNumberIncrease(); if (action && action->init(duration, start_value, end_value)) { action->autorelease(); } else { CC_SAFE_DELETE(action); } return action; } void LbNumberIncrease::startWithTarget(Node* target) { ActionInterval::startWithTarget(target); static_cast(_target)->setString(Value(_start_value).asString()); } void LbNumberIncrease::update(float dt) { _curFrameIndex++; int cur_value = int(_increase_value * _curFrameIndex + _start_value); static_cast(_target)->setString(Value(cur_value).asString()); } void LbNumberIncrease::stop() { static_cast(_target)->setString(Value(_end_value).asString()); ActionInterval::stop(); _curFrameIndex = 0; } bool LbNumberIncrease::init(float duration, const int start_value, const int end_value) { if (!ActionInterval::initWithDuration(duration)) { return false; } _start_value = start_value; _end_value = end_value; _curFrameIndex = 0; _increase_value = (end_value - start_value) / (duration / cocos2d::Director::getInstance()->getAnimationInterval()); return true; } NS_RU_END