空のシーンの作成
- "PROJECT_NAME" の "Classes" を右クリックして "New File" で "C and C++" の "C++ Class" を選択して "GameScene" クラスを作成
- GameScene.h を以下の通りに
#ifndef __GameScene__
#define __GameScene__
#include "cocos2d.h"
USING_NS_CC;
class GameScene : public cocos2d::CCLayer
{
public:
virtual bool init();
static cocos2d::CCScene* scene();
CREATE_FUNC(GameScene);
};
#endif
#include "GameScene.h"
using namespace cocos2d;
using namespace std;
CCScene* GameScene::scene()
{
CCScene* scene = CCScene::create();
GameScene* layer = GameScene::create();
scene->addChild(layer);
return scene;
}
bool GameScene::init()
{
if (!CCLayer::init()) {
return false;
}
return true;
}
図形の描画
- 空のシーンを作成する
- GameScene.h の "public:" の上の行に以下を追記
private:
void drawTest();
void deleteTest();
void GameScene::drawTest()
{
CCSize size = CCDirector::sharedDirector()->getWinSize();
CCDrawNode* draw = CCDrawNode::create();
draw->setPosition(ccp(0, 0));
draw->setTag(1);
this->addChild(draw);
draw->drawDot(ccp(size.width * 0.5, size.height * 0.5),
size.height * 0.5,
ccc4FFromccc3B(ccBLUE)
);
draw->drawSegment(ccp(0, 0),
ccp(size.width, size.height),
2,
ccc4FFromccc3B(ccRED)
);
static CCPoint points[] = {
ccp(0, 0),
ccp(size.width * 0.5, size.height),
ccp(size.width, 0),
};
draw->drawPolygon(points,
3,
ccc4FFromccc3B(ccGREEN),
1,
ccc4FFromccc3B(ccBLACK)
);
}
void GameScene::deleteTest()
{
this->removeChildByTag(1);
}
- GameScene::init の "return true;" の前に以下を追記
drawTest();
this->scheduleOnce(schedule_selector(GameScene::deleteTest), 3);
- これで開始直後に図形を描画して、3秒後に消すサンプルの完成。