翻牌动画

这篇博客主要介绍了如何在cocos2dx v3.9环境下创建翻牌动画,提供了详细的步骤和源码下载链接,适用于Windows 7平台和Visual Studio 2012用户。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

cocos2dx动画整理,陆续添加。

基于win7,vs2012,cocos2dx v3.9


1)翻牌动画

<span style="white-space:pre">	</span>auto pokerFront = Sprite::create("poker_front.png");
	pokerFront->setPosition(Vec2(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y));
	this->addChild(pokerFront, 1, 100);
	pokerFront->setVisible(false);

	auto pokerBack = Sprite::create("poker_back.png");
	pokerBack->setPosition(Vec2(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y));
	this->addChild(pokerBack, 1, 100);
    
	auto listener = EventListenerTouchOneByOne::create();  
	listener->setSwallowTouches(true);  
	listener->onTouchBegan = [=](Touch* touch, Event* event)  
	{  
		auto target = static_cast<Sprite*>(event->getCurrentTarget());
		Vec2 point = target->convertToNodeSpace(touch->getLocation());
		Size s = target->getContentSize();
		Rect rect = Rect(0, 0, s.width, s.height);
		if (rect.containsPoint(point))
		{
			if (!pokerFront->isVisible() && m_actionFinished)
			{
				m_actionFinished = false;

				auto oc1 = OrbitCamera::create(1, 1, 0, 270, 90, 0, 0);
				auto ac1 = Sequence::create(Show::create(), oc1, nullptr);
				auto ta1 = TargetedAction::create(pokerFront, ac1);

				auto oc2 = OrbitCamera::create(1, 1, 0, 0, 90, 0, 0);
				pokerBack->runAction(Sequence::create(oc2, Hide::create(), ta1, CallFunc::create(CC_CALLBACK_0(HelloWorld::actionCallBack, this)), nullptr));
			}else if (!pokerBack->isVisible() && m_actionFinished)
			{
				m_actionFinished = false;

				auto oc1 = OrbitCamera::create(1, 1, 0, 270, 90, 0, 0);
				auto ac1 = Sequence::create(Show::create(), oc1, nullptr);
				auto ta1 = TargetedAction::create(pokerBack, ac1);

				auto oc2 = OrbitCamera::create(1, 1, 0, 0, 90, 0, 0);
				pokerFront->runAction(Sequence::create(oc2, Hide::create(), ta1, CallFunc::create(CC_CALLBACK_0(HelloWorld::actionCallBack, this)), nullptr));
			}
			return true;
		}
		return false;  
	};  
	_eventDispatcher->addEventListenerWithSceneGraphPriority(listener, pokerBack);
	_eventDispatcher->addEventListenerWithSceneGraphPriority(listener->clone(), pokerFront);


源码下载:https://yunpan.cn/crGs5R2NEu9DY  访问密码 d34f


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值