cocos2d-x 菜鸟实习生学习篇(二)helloworld完全注释

说真的,一开始学习-x这玩意真的摸不着头脑,特别是对我这种c++不是那么在行的菜鸟来说。

一般学一种编程语言、软件、引擎都是从可爱的hello world开始的。不过-x的helloworld让我有点摸不着头绪,有好几个文件都不知道来干嘛的,后来发现类似AppDelegate.cpp,.h 的文件是可以不用看的,直接调用就好,main也是。只要看helloworldScene有关的文件就好啦。

不过看hello的程序还是有点吃力,看很多大神写的博客也是一笔带过,不多留点云彩。幸运的是我找到蓝米粒的博客,他注释写的非常详细,对新手来说帮助非常大。不多说,直接给链接:http://blog.csdn.net/xiaoxiangp?viewmode=contents


hello程序里其他可以不用看,就看init就好。


  1. boolHelloWorld::init()
  2. {
  3. boolbRet=false;首先对于这个判断变量,开始我也不知道是干嘛的,指导我理解了这个do...while循环之后才明白
  4. do
  5. {
  6. CC_BREAK_IF(!CCLayer::init());
  7. 这个是定义了一个尺寸变量,获得了窗口的尺寸然后保存到s中。
  8. CCSizes=CCDirector::sharedDirector()->getWinSize();
  9. 这一句好长,其实意思就是创建了一个菜单按钮,当按下的时候调用某个函数
  10. CCMenuItemImage*pCloseItem=CCMenuItemImage::itemFromNormalImage(
  11. "play1.png",没按下的图片
  12. "play2.png",按下时的图片
  13. this,
  14. menu_selector(HelloWorld::menuCloseCallback));点下的时候调用这个函数
  15. CC_BREAK_IF(!pCloseItem);这个是一个宏,跟踪进去发现就是一个if判断。意思就是如果这个变量不正常,就break
  16. pCloseItem->setPosition(ccp(s.width/2,s.height/2));设置按钮的位置,开始定义的s起作用了.我发现图片的绘制都是以中心点定位的
  17. CCMenu*pMenu=CCMenu::menuWithItems(pCloseItem,NULL);创建菜单,然后加入刚刚定义的按钮进去,如果有多个按钮的话在
  18. NULL参数的前面继续添加就行
  19. pMenu->setPosition(CCPointZero);
  20. CC_BREAK_IF(!pMenu);
  21. this->addChild(pMenu,1);添加到舞台~这样就能看到按钮菜单啦!
  22. bRet=true;这个地方设置为真了!!然后就是while(0)一个始终不成立的循环呐!
  23. }while(0);
  24. returnbRet;
  25. }

初始化函数,使用do...while()循环的特性。如果有异常就直接跳出循环,然后bret这个变量就是false,就会相应的处理。当整个循环完成了,才会变成true。有种goto语句的感觉。哈哈...


  1. voidHelloWorld::menuCloseCallback(CCObject*pSender)
  2. {
  3. //"close"menuitemclicked
  4. CCDirector::sharedDirector()->end();
  5. }


上面的大多都是蓝米粒的,ok

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值