• cocos2dx 菜鸟实习生学习篇(二)helloworld完全注释


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

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

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


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


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

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


    1. void HelloWorld::menuCloseCallback(CCObject* pSender)  
    2. {  
    3.     // "close" menu item clicked  
    4.     CCDirector::sharedDirector()->end();  
    5. }  


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

  • 相关阅读:
    PTA9
    PTA8
    第七周
    第六周
    第五周
    PTA4
    2019第三次作业
    第十周课程总结
    第九周课程总结&实验报告(七)
    第八周课程总结&实验报告(六)
  • 原文地址:https://www.cnblogs.com/start530/p/3834371.html
Copyright © 2020-2023  润新知