Cocos2d-3.x 开机logo动画实例

举报
鱼酱 发表于 2022/01/06 22:20:08 2022/01/06
【摘要】 1.淡入淡出动画      最近在做一个项目,分享给大家一个不错的例子,我们可以用这个模板去设计我们的游戏开机动画哦。 2.效果如下 3.例子如下 AppDelegate加入如下代码,记住导入LogoScene的头文件 // cr...

1.淡入淡出动画

     最近在做一个项目,分享给大家一个不错的例子,我们可以用这个模板去设计我们的游戏开机动画哦。

2.效果如下



3.例子如下



AppDelegate加入如下代码,记住导入LogoScene的头文件


  

   
  1. // create a scene. it's an autorelease object
  2. auto scene = LogoScene::createScene();
  3. // run
  4. director->runWithScene(scene);
  5. return true;



  

//LogoScene类
 


  
  1. #include "LogoScene.h"
  2. #include "AppDelegate.h"
  3. USING_NS_CC;
  4. Scene* LogoScene::createScene()
  5. {
  6. auto scene = Scene::create();
  7. auto layer = LogoScene::create();
  8. auto s = Director::getInstance()->getVisibleSize();
  9. //开机第一张图片,选择自己喜欢的图片哦
  10. Sprite* pSprite = Sprite::create("logo_telecom.png");
  11. if (pSprite)
  12. {
  13. //屏幕的位置
  14. pSprite->setPosition(s.width/2,s.height/2);
  15. //99号节点
  16. layer->addChild(pSprite, 0, 99);
  17. }
  18. scene->addChild(layer);
  19. return scene;
  20. }
  21. // on "init" you need to initialize your instance
  22. bool LogoScene::init()
  23. {
  24. if ( !Layer::init() )
  25. {
  26. return false;
  27. }
  28. auto pCCLayerColor = LayerColor::create(Color4B(255, 255, 255, 255));
  29. addChild(pCCLayerColor);
  30. scheduleOnce(schedule_selector(LogoScene::logoshowCallback), 1.0f);
  31. return true;
  32. }
  33. void LogoScene::logoshowCallback(float temp)
  34. {
  35. {
  36. //背景图淡入消去
  37. Sprite* pSprite = (Sprite*)(getChildByTag(99));
  38. FadeOut* pAction = FadeOut::create(0.625f);
  39. pSprite->runAction(pAction);
  40. }
  41. auto pCCLayerColor = LayerColor::create(Color4B(255, 255, 255, 255));
  42. {
  43. //延迟纯白色背景加载0.625秒动作
  44. addChild(pCCLayerColor);
  45. pCCLayerColor->setOpacity(0);
  46. DelayTime* pAction1 = DelayTime::create(0.625f);
  47. FadeIn* pAction2 = FadeIn::create(0.625f);
  48. //DelayTime* pAction3 = DelayTime::create(1.0f);
  49. pCCLayerColor->runAction(Sequence::create(pAction1, pAction2, NULL));
  50. }
  51. auto s = Director::getInstance()->getVisibleSize();
  52. //logo的图片
  53. Sprite* pSprite = Sprite::create("gamedo.png");
  54. {
  55. pSprite->setPosition(s.width / 2, s.height / 2);
  56. pCCLayerColor->addChild(pSprite);
  57. pSprite->setOpacity(0);
  58. DelayTime* pAction1 = DelayTime::create(0.625f);
  59. FadeIn* pAction2 = CCFadeIn::create(0.625f);
  60. //DelayTime* pAction3 = DelayTime::create(1.0f);
  61. pSprite->runAction(Sequence::create(pAction1, pAction2, NULL));
  62. }
  63. scheduleOnce(schedule_selector(LogoScene::logoshowOver), 2.00f);
  64. }
  65. void LogoScene::logoshowOver(float temp)
  66. {
  67. //场景迁移 ,这里我们以后可以单独做一个 控制场景迁移的类
  68. //CCDirector::sharedDirector()->replaceScene(MainScene::Create());
  69. }





   不懂的大家可以在下面留言哦~

  

文章来源: yujiang.blog.csdn.net,作者:鱼酱2333,版权归原作者所有,如需转载,请联系作者。

原文链接:yujiang.blog.csdn.net/article/details/51511423

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。