zoukankan      html  css  js  c++  java
  • UI-Label自动垂直滚动字幕

    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,
    My Blog is
    blog.csdn.net/jackystudio!
    2.Hi! Welcome to JackyStudio,
    My Blog is
    blog.csdn.net/jackystudio!
    3.Hi! Welcome to JackyStudio,
    My Blog is
    blog.csdn.net/jackystudio!
    4.Hi! Welcome to JackyStudio,
    My Blog is
    blog.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;
    };
    

    效果图:


  • 相关阅读:
    go笔记 (异或交换两个数字变量需要注意的问题)
    java子线程中获取父线程的threadLocal中的值
    关于java线程池的线程废弃与存活条件分析
    .net实现上传图片到共享目录(远程服务器)
    .net 获取两个时间段中间的日期
    ASP .NET数据写入oracle数据库
    MySql定时插入数据
    Sitecore8.2 .net Solr搜索实现
    .net 盘古分词
    json_3层格式_数据源DataSet
  • 原文地址:https://www.cnblogs.com/Anzhongliu/p/6091857.html
Copyright © 2011-2022 走看看