.h文件里面
#pragma once
#include<iostream>
#include "cocos2d.h"
using namespace cocos2d;
class MainScene:public CCLayer
{
private:
CCSprite * sprite;
void update(float t);
public:
virtual bool init();
static CCScene * scene();
CREATE_FUNC(MainScene); //工厂方法是宏自带的;
};
.cpp文件
#include "MainScene.h"
CCScene * MainScene::scene()
{
CCScene * scene = CCScene::create();
MainScene * layer = MainScene::create();
scene->addChild(layer);
return scene;
}
bool MainScene::init()
{
if (!CCLayer::init()){
return false;
}
sprite = CCSprite::create("HelloWorld.png"); //工厂方法;
sprite->setPosition(CCPointMake(0,240)); //锚点的位置,修改后的x轴是320,y轴是480;
sprite->setScale(0.1); //这是把图片缩小了10倍;
sprite->setAnchorPoint(CCPointMake(0,0)); //定位点的位置;默认的定位点是图片中心(x,y),修改成(0,0)后,定位点是左下角,(1,1)定位点是右上角;
//sprite->setRotation(90); //将图片旋转90度;
this->addChild(sprite); //this 是MainScence 的对象指针,后面是子节点
//schedule(schedule_selector(MainScene::update)); //每秒会被调用60次,写了个回调函数update; 每秒60帧,每帧调用一次;
//schedule的作用是设计帧回调函数;两个参数,一个回调函数,一个间隔秒数。
schedule(schedule_selector(MainScene::update),1); //每秒转动一次。
return true;
}
void MainScene::update(float t)
{
sprite->setPosition(ccpAdd(sprite->getPosition(),ccp(1,0)));
sprite->setRotation(sprite->getRotation()+1);
},