示例#1
0
 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);
   }
 }
示例#2
0
 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);
 }
示例#3
0
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));
}
示例#4
0
bool GalleryScroll::onSwipeBegin(const cocos2d::Vec2 &point) {
	stopAllActionsByTag("ProgressAction"_tag);
	return _primary->onSwipeBegin(point);
}
示例#5
0
void StopAllActionsTest::stopAction(float time)
{
    auto sprite = getChildByTag(kTagGrossini);
    sprite->stopAllActionsByTag(kTagSequence);
}