zoukankan      html  css  js  c++  java
  • Cocos2d-x实现简单的翻牌效果

    触发器互联网影响找了很多。有自己的点重写一个复杂的sprite类来实现。简单的操作来对引擎的使用CCOrbitCamera实现,但是,也存在一些问题,后变反了。

    我在用的仅仅是一个简单的翻牌效果,点击之后图片翻牌,翻到一半之后图片切换到另外一面。再继续剩下的旋转。

    注:以下的代码仅仅能翻牌一次,第二次就会乱了。当然,我须要的也仅仅是翻牌一次而已。

    简单的载入图片:

    	pSprite = CCSprite::create("iv_card_1.png");
    	pSprite->setPosition( ccp(300,300) );
    	this->addChild(pSprite, 0);
    图片点击之后进行翻牌动作:

    void HelloWorld::menuCloseCallback(CCObject* pSender)
    {
    	//===旋转的时间。起始半径,半径差。起始z角。旋转z角差,起始x角,旋转x角差===
    	CCSequence*  action = CCSequence::create(
    		CCOrbitCamera::create(1,1, 0, 0, 90, 0, 0)
    		,CCCallFunc::create(this , callfunc_selector(HelloWorld::objectReset) ) 
    		,CCOrbitCamera::create(1,1, 0, -90, -90, 0, 0)
    		,NULL);
    
    	pSprite->runAction(action);
    }
    
    void HelloWorld::objectReset()
    {
    	//CCTexture2D* texture = CCTextureCache::sharedTextureCache()->addImage("iv_card_2<span style="font-family: Arial, Helvetica, sans-serif;">.png</span><span style="font-family: Arial, Helvetica, sans-serif;">");</span>
    	//pSprite->setTexture(texture);
    	CCSprite* p = CCSprite::create("iv_card_2.png");
    	pSprite->setTexture(p->getTexture());
    
    	//===能够添加正面的元素======
    	CCSprite* p2 = CCSprite::create("public_diamond_icon.png");
    	pSprite->addChild(p2);
    	p2->setPosition(ccp(pSprite->getContentSize().width/2,pSprite->getContentSize().height/2+p2->getContentSize().height/2));
    	//=================
    	pSprite->setScaleX(-1);
    }


    素材图片

       





    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    django之验证码
    无法显示SQL Server Management Studio Express解决办法
    程序员常用不常见很难得的地址大全转
    调用ip138的页面获取IP地址
    VS 2010无法创建项目提示写入项目文件时出错 没有注册类别
    webapi token、参数签名是如何生成的(转载)
    尝试asp.net mvc 基于controller action 方式权限控制方案可行性(转载)
    委托学习
    Webapi上传数据(XML)敏感字符解决方案
    redis 学习
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/4720499.html
Copyright © 2011-2022 走看看