本节简单对新生成的hellowrold 项目相关代码进行简单分析,具体以代码注释的方式展示给大家。代码相对简单些,在此不作过多赘述,直接上码:

  1. int APIENTRY _tWinMain(HINSTANCE hInstance,
  2. HINSTANCE hPrevInstance,
  3. LPTSTR lpCmdLine,
  4. int nCmdShow)
  5. {
  6. // UNREFERENCED_PARAMETER 避免编译器关于未引用参数的警告
  7. UNREFERENCED_PARAMETER(hPrevInstance);
  8. UNREFERENCED_PARAMETER(lpCmdLine);
  9.  
  10. //新建一个代理实体
  11. AppDelegate app;
  12. CCEGLView* eglView = CCEGLView::sharedOpenGLView();
  13.  
  14. // 初始化win32下游戏窗体大小及标题等信息
  15. eglView->setViewName(UTEXT("这是一个测试啦"));
  16. eglView->setFrameSize(900, 600);
  17.  
  18. return CCApplication::sharedApplication()->run();
  19. }
  1.  
  1.  
  1.  
  1. bool AppDelegate::applicationDidFinishLaunching()
  2. {
  3. //加载配置文件信息,用于防止中文乱码及国际化
  4. CCConfiguration::sharedConfiguration()->loadConfigFile("config/strings.plist");
  5.  
  6. // 初始化导演雷
  7. CCDirector* pDirector = CCDirector::sharedDirector();
  8. CCEGLView* pEGLView = CCEGLView::sharedOpenGLView();
  9.  
  10. pDirector->setOpenGLView(pEGLView);
  11.  
  12. // 设置是否限制帧频
  13. pDirector->setDisplayStats(true);
  14.  
  15. // 设置刷新频率,默认为 1.0 / 60
  16. pDirector->setAnimationInterval(1.0 / 60);
  17.  
  18. // 创建启动场景
  19. CCScene *pScene = StartScene::scene();
  20.  
  21. // run
  22. pDirector->runWithScene(pScene);
  23.  
  24. return true;
  25. }
  1.  
  1. CCScene* StartScene::scene()
  2. {
  3. // 创建一个场景
  4. CCScene *scene = CCScene::create();
  5.  
  6. StartScene *layer = StartScene::create();
  7.  
  8. // 设置子节点,以后你会碰到很多addChild
  9. scene->addChild(layer);
  10.  
  11. // return the scene
  12. return scene;
  13. }
  14.  
  15. bool StartScene::init()
  16. {
  17. // 初始化layer
  18. if ( !CCLayer::init() )
  19. {
  20. return false;
  21. }
  22.  
  23. CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
  24. CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();
  25.  
  26. // 创建程序退出按钮,注意点击事件回调函数的注册方法
  27. CCMenuItemImage *pCloseItem = CCMenuItemImage::create("CloseNormal.png", "CloseSelected.png",this, menu_selector(StartScene::menuCloseCallback));
  28. pCloseItem->setPosition(ccp(origin.x + visibleSize.width - pCloseItem->getContentSize().width/2 - 20, origin.y + visibleSize.height - pCloseItem->getContentSize().height/2 - 20));
  29.  
  30. CCMenu* pMenu = CCMenu::create(pCloseItem, NULL);
  31. pMenu->setPosition(CCPointZero);
  32. this->addChild(pMenu, 1);
  33.  
  34. // 创建一个文本标签
  35. CCConfiguration *conf = CCConfiguration::sharedConfiguration();
  36. const char *helloStr = conf->getCString("hello", "unknown");
  37.  
  38. CCLabelTTF* pLabel = CCLabelTTF::create(helloStr, "Arial", 24);
  39. pLabel->setPosition(ccp(origin.x + visibleSize.width/2, origin.y + visibleSize.height - pLabel->getContentSize().height));
  40. this->addChild(pLabel, 1);
  41.  
  42. // 生成背景图片,此处使用sprite
  43. CCSprite* pSprite = CCSprite::create("HelloWorld.png");
  44. pSprite->setPosition(ccp(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y));
  45. this->addChild(pSprite, 0);
  46.  
  47. // this->setRotation(90.0F);
  48.  
  49. return true;
  50. }
  51.  
  52. // 点击退出按钮回调函数
  53. void StartScene::menuCloseCallback(CCObject* pSender)
  54. {
  55. CCDirector::sharedDirector()->end();
  56.  
  57. #if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
  58. exit(0);
  59. #endif
  60.  
  61. }

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

cocos2d-x HelloWorld 代码一撇的更多相关文章

  1. 第一个Java代码的编写 :HelloWorld代码的编写

    HelloWorld代码的编写 创建一个新的文件夹,通过Notepad++编写第一个Java程序 , 文件名为"Hello.java" 在文件中编写,如下代码: public cl ...

  2. cocos2D(三)---- 第一cocos2d的程序代码分析

    在第一讲中已经新建了第一个cocos2d程序,执行效果例如以下: 在这讲中我们来分析下里面的代码,了解cocos2d的工作原理,看看屏幕上的这个"Hello World"是怎样显示 ...

  3. 三、第一个cocos2d程序的代码分析

    http://blog.csdn.net/q199109106q/article/details/8591706 在第一讲中已经新建了第一个cocos2d程序,运行效果如下: 在这讲中我们来分析下里面 ...

  4. Android下Cocos2d创建HelloWorld工程

    最近在搭建Cocos2d的环境,结果各种问题,两人弄了一天才能搞好一个环境-! -_-!! 避免大家也可能会遇到我这种情况,所以写一个随笔,让大家也了解下如何搭建吧- 1.环境安装准备 下载 tadp ...

  5. 初笔,JAVA.HelloWorld代码详解

    HelloWorld.java //文件名 public class HelloWorld{ public static void main(String[] args){ System.out.pr ...

  6. cocos2d JS 使用代码判断对象类型

    changeAtlasScoreString : function (score,tfScore) { if(tfScore.getDescription() == "LabelAtlas& ...

  7. 【Cocos2d入门教程三】HelloWorld之一目了然

    什么程序都是从HelloWorld先开始.同样Cocos2d-x我们先从HelloWorld进行下手.下面是HelloWorld的运行完成图: 建立好的Cocos游戏项目中会有两个比较常用接触的文件夹 ...

  8. helloworld讲解cocos2d-x的编程思路与要点

    用helloworld讲解cocos2d-x的编程思路与要点 本文以cocos2d-x的helloworld为例,讲解cocos2d-x引擎的特点和要点,2.2为了展示新功能,把包括屏幕自适应在内的新 ...

  9. AngularJS 系列 01 - HelloWorld和数据绑定

    目录导读: AngularJS 系列 学习笔记 目录篇 前言: 好记性不如烂键盘,随笔就是随手笔记,希望以后有用. 本篇目录: 1. Hello World 2. AngularJS中的数据绑定 3. ...

随机推荐

  1. JAVA封装消息中间件调用二(kafka消费者篇)

    上一遍我简单介绍了kafka的生成者使用,调用方式比较简单,今天我给大家分享下封装kafka消费者,作为中间件,我们做的就是最大程度的解耦,使业务方接入我们依赖程度降到最低. 第一步,我们先配置一个消 ...

  2. hdu 5505(数论-gcd的应用)

    GT and numbers Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)To ...

  3. Regular Expression Matching——没理解的动态规划

    Implement regular expression matching with support for '.' and '*'. '.' Matches any single character ...

  4. DNS之XX记录

    DNS服务器里有两个比较重要的记录.一个叫SOA记录(起始授权机构) 一个叫NS(Name Server)记录(域名服务器)关于这两个记录,很多文章都有解释,但是很多人还是很糊涂.我现在通俗的解释一下 ...

  5. 洛谷 P2077 红绿灯 题解

    题目传送门 这道题一秒一秒的扫描一定会超时,所以就用一种O(N)的算法. #include<bits/stdc++.h> using namespace std; ],b[],c[],x= ...

  6. ceph存储池基本管理

    一,设置默认存储池的pg或pgp的值(推荐100左右),在ceph.conf文件里增加: osd pool default pg num = osd pool default pgp num = 二, ...

  7. markdown 测试代码

    这是 H1 这是 H2 这是 H3 这是 H4 这是 H5 这是 H6 A First Level Header A Second Level Header Now is the time for a ...

  8. LoadRunner中Vugen-Recording Options选项卡介绍:

    LoadRunner中Vugen-Recording Options选项卡介绍:

  9. Redis实战(四)

    配置好了web.config程序,并且能通过C#代码来读取和管理以上配置信息. 接下来,就可以进行Redis的数据写入了.Redis中可以用Store和StoreAll分别保存单条和多条数据,C#中具 ...

  10. 洛谷P3950 部落冲突 [LCT]

    题目传送门 部落冲突 格式难调,体面就不放了. 分析: julao们应该都看得出来就是个$LCT$板子,战争就$cut$,结束就$link$,询问就$find$.没了... 太久没打$LCT$,然后发 ...