翻牌效果


	auto pokerFront = Sprite::create("images/poker_dj.jpg");
	pokerFront->setPosition(ccp(visibaleSize.width*0.3, visibaleSize.height/2));
	pokerFront->setVisible(false);
	addChild(pokerFront, 1, 1);

	auto pokerBack = Sprite::create("images/poker_background.jpg");
	pokerBack->setPosition(ccp(visibaleSize.width*0.3, visibaleSize.height/2));
	addChild(pokerBack, 1, 2);

	auto listener = EventListenerTouchOneByOne::create();
	listener->setSwallowTouches(true);
	listener->onTouchBegan = [](Touch* touch, Event* event) {
		auto target = event->getCurrentTarget();
		Point clickedPoint = target->convertTouchToNodeSpace(touch);
		Size s = target->getContentSize();
		Rect rect(0, 0, s.width, s.height);
		if (rect.containsPoint(clickedPoint)) {
			return true;
		}
		return false;
	};
	listener->onTouchEnded = [this](Touch* touch, Event* event) {
		static bool isTurnning = false;
		if (!isTurnning) {
			isTurnning = true;
		
			Sprite* pokerFront = static_cast<Sprite*>(this->getChildByTag(1));
			Sprite* pokerBack = (Sprite*)this->getChildByTag(2);

			std::function<void(Sprite*, Sprite*)> turnFunc = [](Sprite* pokerA, Sprite* pokerB) {
				auto targetedAction = TargetedAction::create(pokerA
					, Sequence::createWithTwoActions(Show::create(), OrbitCamera::create(0.5, 1, 0, 270, 90, 0, 0)));
		
				auto turnAction = Sequence::create(OrbitCamera::create(0.5, 1, 0, 0, 90, 0, 0)
					, Hide::create()
					, targetedAction
					, CallFunc::create([]{isTurnning = false;})
					, nullptr);
				pokerB->runAction(turnAction);
			};

			if (pokerBack->isVisible()) {
				turnFunc(pokerFront, pokerBack);
			} else {
				turnFunc(pokerBack, pokerFront);
			}
		}
	};
	Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listener, pokerBack);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值