cocos2dx学习之旅

cocos2dx的真实入口是AppDelegate::applicationDidFinishLaunching()函数,主要完成对CCDirector以及Scene及layer、sprite的加载。
其中,通过layer来加载sprite,scene来加载layer,director来加载scene,其中通过继承CClayer来完成创建layer、scene、sprite的。
MyLayer.h文件代码:

#include "cocos2d.h"
USING_NS_CC;
class MyLayer : public CCLayer
{
public:
    CREATE_FUNC(MyLayer);
    //static MyLayer * create();
    static CCScene * ccscene();
    bool init();
};

MyLayout.cpp代码为

#include "MyLayer.h"

//MyLayer * MyLayer::create()
//{
//  MyLayer *pRet = new MyLayer();
//  if (pRet&&pRet->init())
//  {
//      pRet->autorelease();
//  }
//  else
//  {
//      delete pRet;
//      pRet = NULL;
//  }
//  return pRet;
//}
bool MyLayer::init()
{
    if (!CCLayer::init())
    {
        return false;
    }
    CCSize winsize = CCDirector::sharedDirector()->getWinSize();
    CCSprite * sprite = CCSprite::create("teemo2.png");
    sprite->setPosition(ccp(winsize.width/2,winsize.height/2));
    addChild(sprite);
    return true;

}

CCScene * MyLayer::ccscene()
{
    CCScene* ccs = CCScene::create();
    MyLayer* layer = MyLayer::create();
    ccs->addChild(layer);
    return ccs;
}

在MyLayer类中。通过scene方法来获得CCScene,并且将本已经Layer加载了精灵的Layer添加进去。精灵在创建的时候需要指定安放的点。
CREATE_FUNC(MyLayer);是一个宏,与本类的已经注释了的静态方法一模一样,主要完成对本类的创建以及初始化、内存托管。init()方法主要进行对父类初始化然后加载精灵。(怀念java的spuer)。
在cocos中,一般父类的析构函数与反析构函数都不会使用。
锚点
个人理解为旋转的中心点,是可以设置的点,一般精灵的锚点是(0.5,0.5)处,layer的锚点一般默认忽视,即为(0,0)处,当然这些都是可以设置的啦,通过设置来完成对点的具体展示,这个还是比较好理解。

没有什么东西是不能通过一个精灵展示的,如果有,那就两个

万物皆精灵,精灵大法好
精灵的创建方法
精灵的三种创建方法如图所示,明天再进行对这几种进行先抄代码再理解消化。
jpg图片不能简单改个png的后缀就使用!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值