| 82 | } |
| 83 | |
| 84 | void BoomScrollLayer::changePageLeft() |
| 85 | { |
| 86 | _layers[_rightPage]->retain(); |
| 87 | _internalLayer->removeChild(_layers[_rightPage]); |
| 88 | |
| 89 | _rightPage = _rightPage - 1 < 0 ? _layers.size() - 1 : _rightPage - 1; |
| 90 | _leftPage = _leftPage - 1 < 0 ? _layers.size() - 1 : _leftPage - 1; |
| 91 | |
| 92 | _internalLayer->addChild(_layers[_leftPage]); |
| 93 | _layers[_leftPage]->setPositionX(Director::getInstance()->getWinSize().width * -2.f); |
| 94 | _layers[_leftPage]->release(); |
| 95 | |
| 96 | float newX = Director::getInstance()->getWinSize().width * 1.f; |
| 97 | newX -= _dragMovement; |
| 98 | |
| 99 | for (auto l : _internalLayer->getChildren()) |
| 100 | { |
| 101 | auto ac = ax::MoveBy::create(1.5f, {newX, _internalLayer->getPositionY()}); |
| 102 | l->runAction(ax::EaseElasticOut::create(ac)); |
| 103 | } |
| 104 | |
| 105 | _currentPage = _currentPage - 1 < 0 ? _layers.size() - 1 : _currentPage - 1; |
| 106 | } |
| 107 | |
| 108 | bool BoomScrollLayer::init(std::vector<ax::Layer*> layers, int currentPage) |
| 109 | { |