其实一直蛮想写一个做项目的博文教程,但目前觉得自己能力还不够,最近公司的项目又比较紧,一直都抽不出时间来写关于项目的博文(明天我要上班呢\(^o^)/~)。对于新手朋友(其实我也是新手lol) 们来说,我觉得动手写东西是一件提高水平的最好办法了,有很多功能,总觉得自己有想法,很容易实现,但真正要实现起来会碰到各种各样的问题,这些问题都是你之前没有想到的,所以我在这里还是建议新手朋友们一定要多多动手练习,只有在动手练习中才能真正的提高自己的能力。

关于cocos2d-x的基础知识,网上已经有一大堆博文了,而且那些大哥大姐们都写得非常好,所以我也不需要重复造轮子了,我尽量能让这篇博文能让大家学习到在其他博文里学不到的东西,这也是我写这篇博文的初衷,本博文涉及到内容还蛮多的,肯定是不能一次性写完,所以只能有时间的时候再更新了。

本博文涉及到的知识:

1.定义场景

2.loading界面

3.菜单回调函数

4.进度条

5.场景切换(特效切换)

6.精灵动画

7.滚动背景

8.声音管理

下面就先上几张效果

图吧:

 (⊙o⊙)… 十一点多了,明天还要上班呢,有时间再更新吧~~(~﹃~)~zZ

2013年7月25日21:58:22

继续

我们先来走一个简单的loading界面吧,l加载资源的操作我们最好都放在loading界面中加载,这样在后续需要资源时可以直接从内存中读取,加快游戏的相应速度,我就不说那么多了,直接上代码吧:

h文件:

include "cocos2d.h"
//#include "SoundManager.h"
#include "Box2D/Box2D.h"
#include "SimpleAudioEngine.h"
//#include "cocos-ext.h"USING_NS_CC;
//USING_NS_CC_EXT ;/************************************************************************/
/*loading 界面by 深圳-xo
*/
/************************************************************************/
class HelloWorld : public cocos2d::CCLayer
{
public:virtual bool init();  static cocos2d::CCScene* scene();void menuCloseCallback(CCObject* pSender);//进度条void progressAnimation();void progressIsDone();
private://进度条所需CCSprite* loading ;CCSprite* loadingbg;CCProgressTimer* pro;CCProgressTo* to ;CCFiniteTimeAction* action;// implement the "static node()" method manuallyCREATE_FUNC(HelloWorld);
};
using namespace cocos2d;
using namespace CocosDenshion;
CCScene* HelloWorld::scene()
{CCScene * scene = NULL;do {// 'scene' is an autorelease objectscene = CCScene::create();CC_BREAK_IF(! scene);// 'layer' is an autorelease objectHelloWorld *layer = HelloWorld::create();CC_BREAK_IF(! layer);// add layer as a child to scenescene->addChild(layer);} while (0);// return the scenereturn scene;
}// on "init" you need to initialize your instance
bool HelloWorld::init()
{bool bRet = false;do {CC_BREAK_IF(! CCLayer::init());CCSprite* bg = CCSprite::create("menu/flash.png");bg->setPosition(CCPointZero);bg->setAnchorPoint(CCPointZero);this->addChild(bg,-1);this->progressAnimation();bRet = true;} while (0);return bRet;
}void HelloWorld::menuCloseCallback(CCObject* pSender)
{// "close" menu item clickedCCDirector::sharedDirector()->end();
}/**进度条动画的定义*/
void HelloWorld::progressAnimation()
{CCSize size = CCDirector::sharedDirector()->getWinSize();loading = CCSprite::create("loading.png");pro = CCProgressTimer::create(loading);
//  pro->setScale(0.5f);//设置进度条显示样式pro->setType(kCCProgressTimerTypeBar);pro->setMidpoint(ccp(0,0));pro->setBarChangeRate(ccp(1,0));to = CCProgressTo::create(1,100);action = CCSequence::create(to,CCCallFunc::create(this,callfunc_selector(HelloWorld::progressIsDone)),NULL);loadingbg = CCSprite::create("loadbg.png");
//  loadingbg->setScale(0.5f);pro->setPosition(ccp(size.width/2,loadingbg->getContentSize().height-20));loadingbg->setPosition(ccp(size.width/2,loadingbg->getContentSize().height-20));this->addChild(loadingbg);this->addChild(pro);pro->runAction(action);//schedule(schedule_selector(HelloWorld::progressIsDone),1);}
void HelloWorld::progressIsDone()
{if(to->isDone()||action->isDone()){//场景切换CCTransitionScene* mScene = NULL ;CCScene* s = MainMenu::scene();float t = 1.2f ;mScene = CCTransitionJumpZoom::create(t,s);CCDirector::sharedDirector()->replaceScene(mScene);}
}
















												

cocos2dx Demo相关推荐

  1. Cocos2dx游戏开发系列笔记6:怎样让《萝莉快跑》的例子运行在vs和手机上

    2019独角兽企业重金招聘Python工程师标准>>> 感谢听D同学赞助的Demo. 那怎样让它运行在vs中呢: 1 使用cocos2d-x-2.2\tools\project-cr ...

  2. cocos2d-x 植入广告(二) 有米横屏、插屏广告和积分墙广告

    相比于百度广告的SDK,有米广告的植入就很简单了,因为有米提供的有cocos2d-x的demo,基本上就是看着文档的流程,照着demo写自己的代码. [申请发布ID和应用密钥,下载SDK] 1.上传应 ...

  3. cocos2d-x接入live2d3.0学习

    1. 准备阶段 下载安装Python,安装cocos2d-x需要用到Python 下载live2d3.0的sdk(Cubism SDK for Native) https://live2d.githu ...

  4. android检测内存使用工具--procrank

    #!/bin/bash while true; do procrank | busybox grep "cn.toltech.cocos2dx.demo" sleep 1 done ...

  5. [个人开发者赚钱五]植入广告等获取收益

    [导读]非常感谢大家支持我们,很多人看了文章后留言给我们说有豁然开朗的感觉,其实一篇文章,不同人看有不同效果,真心希望大家能够有所收获.这些原创揭秘文章,免费提供给大家,不希望改变你们什么,只是想大家 ...

  6. 一个基于cocos2d-x 3.0和Box2d的demo小程序

    一个基于cocos2d-x 3.0和Box2d的demo小程序 p图demo小应用.想怎么p就怎么p 本文參考于http://blog.csdn.net/xiaominghimi/article/de ...

  7. cocos2dx 实现简单的文件上传到php服务器的demo

    最近刚写完一个cocos2dx,从客户端上传到php服务器的简单测试程序,代码可以复制直接运行 在阅读代码前最好可以先花点时间了解一点php 和libcurl的相关知识,并不会花费太长时间,由于我做的 ...

  8. Cocos2dx游戏开发系列笔记3:牛刀小试-忍者飞镖射幽灵的Demo

    2019独角兽企业重金招聘Python工程师标准>>> 就是这个例子,应该很简单,主要用到的有:精灵的移动,触摸,碰撞检测. 赶紧搞定,待会还要陪哲哲来几局爱消除. 首先在Scene ...

  9. Cocos2d-x 手游聊天系统Demo实现(Lua实现)

    Cocos2d-x 手游聊天系统Demo实现 转载请注明:IT_xiao小巫 本篇博客给大家分享的是一个手游聊天系统,笔者也是第一次使用Cocos2d-x来实现这样一个模块,其中有很多不清楚不明白的地 ...

最新文章

  1. LeetCode Minimum Path Sum(动态规划)
  2. Windows锁定计算机C代码编程实现
  3. 用python玩转数据作业答案_大学mooc2020用Python玩转数据课后答案
  4. 【Matlab 控制】多智能体一致性收敛仿真
  5. 单点系统架构的可用性与性能优化
  6. awk获取+sed替换+paste命令追加一列
  7. sklearn自学指南(part9)--岭回归与分类
  8. 软件开发报价的计算方法[转载]
  9. switch类型模式
  10. tf.layers.dropout
  11. Pentium II Pentium III架构/微架构/流水线 (5) - MMX
  12. 【Spark】Spark ML 机器学习的一个案例
  13. 虚拟机网络驱动(共享文件夹)不见了的解决方案-适用于win7~win10 and Windows Server 2008~Windows Server 2012R2
  14. 查看80端口连接状态
  15. Python学习笔记(语句)
  16. 金蝶移动bos开发教程_移动安全(四)|NDK开发教程_JavaToC
  17. Meego的N9发布
  18. Java、JSP网上购物系统
  19. EINT、DINT、ERTM、DRTM和EALLOW、EDIS、ESTOP0解析
  20. 渐行渐远的是熟悉的身影

热门文章

  1. am超外差收音机matlab,超外差式AM/FM收音机的调试
  2. 相机3D坐标到机械臂坐标的转换
  3. 初探Java设计模式3:行为型模式(策略,观察者等)
  4. kettle插件加载流程
  5. c语言发邮件,c语言利用SMTP协议发送邮件
  6. 百度文库免费下载文档
  7. Linux小技巧--提高cpu使用率
  8. access 数据修复记
  9. “我有技术到哪都是一样的”?年薪40W测试工程师被裁,回怼的这一番话,令人沉思
  10. scroll-top 设置微信小程序滚动条位置