void PixelMapPartial::AdoptSprite(PartialMap::Context* context) { auto source = context->sprite; source->retain(); source->removeFromParentAndCleanup(true); this->addChild(source); source->release(); source->setPosition(spriteVector(context->pos, context->offset)); source->stopAllActionsByTag(SMALL_ANIMATION_TAG); if (m_enableSmallAnimations) { PlaySmallAnimation(source); } }
void PixelMapPartial::Attack(PartialMap::Context* context, const Vec2& pos, const Vec2& direction) { auto source = context->sprite; auto offset = RandomVectorOffset(); context->offset = offset; source->stopAllActionsByTag(10); auto destination = spriteVector(pos, cocos2d::Vec2(kSpritePosition/2*direction.x, kSpritePosition/2*direction.y) + RandomVectorOffset()); auto m1 = MoveTo::create(m_updateTime*0.3, destination); auto s1 = ScaleTo::create(m_updateTime*0.3, kSpriteScale * 1.5); auto m2 = MoveTo::create(m_updateTime*0.3, spriteVector(pos, offset)); auto s2 = ScaleTo::create(m_updateTime*0.3, kSpriteScale); auto spawn1 = cocos2d::Spawn::createWithTwoActions(m1, s1); auto spawn2 = cocos2d::Spawn::createWithTwoActions(m2, s2); auto seq = Sequence::createWithTwoActions(spawn1, spawn2); seq->setTag(10); source->runAction(seq); }
void GalleryScroll::onContentSizeDirty() { Node::onContentSizeDirty(); auto size = getContentSize(); _progress = 0.0f; stopAllActionsByTag("ProgressAction"_tag); if (_primary) { _primary->setContentSize(size); _primary->setAnchorPoint(Vec2(0.5f, 0.5f)); _primary->setPosition(Vec2(size.width/2.0f, size.height/2.0f)); } if (_secondary) { _secondary->removeFromParent(); _secondary = nullptr; } _overscrollTop->setAnchorPoint(cocos2d::Vec2(0, 1)); // top _overscrollTop->setPosition(0, _contentSize.height - 0); _overscrollTop->setContentSize(cocos2d::Size(_contentSize.width, MIN(_contentSize.width * Overscroll::OverscrollScale(), Overscroll::OverscrollMaxHeight()))); _overscrollBottom->setAnchorPoint(cocos2d::Vec2(0, 0)); // bottom _overscrollBottom->setPosition(0, 0); _overscrollBottom->setContentSize(cocos2d::Size(_contentSize.width, MIN(_contentSize.width * Overscroll::OverscrollScale(), Overscroll::OverscrollMaxHeight()))); _overscrollLeft->setAnchorPoint(cocos2d::Vec2(0, 0)); // left _overscrollLeft->setPosition(0, 0); _overscrollLeft->setContentSize(cocos2d::Size( MIN(_contentSize.height * Overscroll::OverscrollScale(), Overscroll::OverscrollMaxHeight()), _contentSize.height)); _overscrollRight->setAnchorPoint(cocos2d::Vec2(1, 0)); // right _overscrollRight->setPosition(_contentSize.width - 0, 0); _overscrollRight->setContentSize(cocos2d::Size( MIN(_contentSize.height * Overscroll::OverscrollScale(), Overscroll::OverscrollMaxHeight()), _contentSize.height)); }
bool GalleryScroll::onSwipeBegin(const cocos2d::Vec2 &point) { stopAllActionsByTag("ProgressAction"_tag); return _primary->onSwipeBegin(point); }
void StopAllActionsTest::stopAction(float time) { auto sprite = getChildByTag(kTagGrossini); sprite->stopAllActionsByTag(kTagSequence); }