cocos2d-x 制作系统公告

时间:2022-05-18 09:06:37

 

2013-12-15  21:57:33 

下载地址:http://download.csdn.net/detail/jackyvincefu/6434549 (摘自:CSDN资源)

cocos2d-x 制作系统公告

 

CTestLayer.h

#ifndef __TEST_LAYER__
#define __TEST_LAYER__

#include "cocos2d.h"
USING_NS_CC;

class CTestLayer : public cocos2d::CCLayer
{
public:
    CTestLayer(void);
    ~CTestLayer(void);

    virtual bool init();
    CREATE_FUNC(CTestLayer);

    virtual void update(float dt);

    CCLabelTTF* text1;
    CCLabelTTF* text2;
};

#endif //__TEST_LAYER__

 

CTestLayer.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 dt )
{
    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);
}