TestLayer.h:
#pragma once
#include "cocos2d.h"
USING_NS_CC;
class CTestLayer :
public CCLayer
{
public:
CTestLayer(void);
~CTestLayer(void);
CREATE_FUNC(CTestLayer);
virtual bool init();
virtual void update(float delta);
CCLabelTTF* text1;
CCLabelTTF* text2;
};
TestLayer.cpp
#include "TestLayer.h"
CTestLayer::CTestLayer(void)
{
}
CTestLayer::~CTestLayer(void)
{
}
bool CTestLayer::init()
{
bool bRet=false;
do
{
CC_BREAK_IF(!CCLayer::init());
CCSize visibleSize=CCDirector::sharedDirector()->getVisibleSize();
CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("ui_serverlist.plist");
//垂直滚动字幕
CCSprite* listbase=CCSprite::createWithSpriteFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("login_listbase.png"));
listbase->setPosition(ccp(visibleSize.width/2,visibleSize.height/2+10));
this->addChild(listbase);
text1=CCLabelTTF::create("1.Hi! Welcome to JackyStudio,\nMy Blog is\nblog.csdn.net/jackystudio!\n2.Hi! Welcome to JackyStudio,\nMy Blog is\nblog.csdn.net/jackystudio!\n3.Hi! Welcome to JackyStudio,\nMy Blog is\nblog.csdn.net/jackystudio!\n4.Hi! Welcome to JackyStudio,\nMy Blog is\nblog.csdn.net/jackystudio!","Arial",12);
text1->setHorizontalAlignment(kCCTextAlignmentLeft);
text1->setAnchorPoint(ccp(0.5,1));
text1->setPosition(ccp(visibleSize.width/2,visibleSize.height/2-55));
this->addChild(text1);
CCSprite* fg=CCSprite::create("fg.png");
fg->setPosition(ccp(visibleSize.width/2,visibleSize.height/2));
this->addChild(fg);
//水平滚动公告
CCSprite* textbase=CCSprite::createWithSpriteFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("login_textbase.png"));
textbase->setPosition(ccp(visibleSize.width/2,50));
textbase->setScaleX(2.5f);
this->addChild(textbase);
text2=CCLabelTTF::create("Hi! Welcome to JackyStudio,My Blog is blog.csdn.net/jackystudio!","Arial",12);
text2->setPosition(ccp(visibleSize.width+text2->getContentSize().width/2,50));
text2->setColor(ccc3(255,0,0));
this->addChild(text2);
this->scheduleUpdate();
bRet=true;
} while (0);
return bRet;
}
void CTestLayer::update(float delta)
{
CCSize visibleSize=CCDirector::sharedDirector()->getVisibleSize();
int newY=text1->getPositionY()+1;
if (newY==500)
{
newY=visibleSize.height/2-55;
}
text1->setPositionY(newY);
int newX=text2->getPositionX()-1;
if (newX<=-text2->getContentSize().width/2)
{
newX=visibleSize.width+text2->getContentSize().width/2;
}
text2->setPositionX(newX);
}
TestScene.cpp:
#include "TestScene.h"
CTestScene::CTestScene(void)
{
_testlayer=NULL;
}
CTestScene::~CTestScene(void)
{
}
bool CTestScene::init()
{
bool bRet=false;
do
{
CC_BREAK_IF(!CCScene::init());
_testlayer=CTestLayer::create();
this->addChild(_testlayer);
bRet=true;
} while (0);
return bRet;
}
TestLayer:
#pragma once
#include "cocos2d.h"
#include "TestLayer.h"
USING_NS_CC;
class CTestScene :
public CCScene
{
public:
CTestScene(void);
~CTestScene(void);
CREATE_FUNC(CTestScene);
virtual bool init();
private:
CTestLayer* _testlayer;
};
效果图: