调用关系:
- AppDeligate.cpp
1 bool AppDelegate::applicationDidFinishLaunching() { 2 // initialize director 3 auto director = Director::getInstance(); 4 auto glview = director->getOpenGLView(); 5 if(!glview) { 6 glview = GLViewImpl::createWithRect("MyLayer", Rect(0, 0, 960, 640)); 7 director->setOpenGLView(glview); 8 } 9 10 director->getOpenGLView()->setDesignResolutionSize(960, 640, ResolutionPolicy::SHOW_ALL); 11 12 // turn on display FPS 13 director->setDisplayStats(true); 14 15 // set FPS. the default value is 1.0/60 if you don't call this 16 director->setAnimationInterval(1.0 / 60); 17 18 FileUtils::getInstance()->addSearchPath("res"); 19 20 // create a scene. it's an autorelease object 21 //auto scene = HelloWorld::createScene(); 22 23 CCScene *pScene = MyScene::create(); 24 25 // run 26 director->runWithScene(pScene); 27 28 return true; 29 }
- MyScene.h
1 #include "cocos2d.h" 2 USING_NS_CC; 3 4 class MyScene:public CCScene 5 { 6 public: 7 static MyScene *create(); 8 bool init(); 9 10 11 };
- MyScene.cpp
1 #include "MyScene.h" 2 #include "MyLayer.h" 3 4 MyScene *MyScene::create() 5 { 6 MyScene *pRet = new MyScene; 7 if (pRet && pRet->init()) 8 { 9 pRet->autorelease(); 10 } 11 else 12 { 13 delete pRet; 14 pRet = NULL; 15 } 16 return pRet; 17 } 18 bool MyScene::init() 19 { 20 CCScene::init(); 21 MyLayer *layer = MyLayer::create(); 22 this->addChild(layer); 23 return true; 24 }
- MyLayer.h
#include "cocos2d.h" USING_NS_CC; class MyLayer : public CCLayer { public: static MyLayer *create(); bool init(); };
- MyLayer.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 *spr = CCSprite::create("shop.jpg"); spr->setPosition(ccp(winSize.width / 4, winSize.height / 2)); addChild(spr); return true; }