您的位置:首页 > 其它

翻牌动画

2016-01-31 23:07 169 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: