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; };
#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; }
#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; };