大佬教程收集整理的这篇文章主要介绍了Cocos2d-2.x_跑马灯效果,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
#ifndef __HelLO_WORLD_H__ #define __HelLO_WORLD_H__ #include "cocos2d.h" #include "cocos-ext.h" USING_NS_Cc; USING_NS_CC_EXT; class HelloWorld : public cocos2d::CCLayer { public: HelloWorld(); virtual ~HelloWorld(); static cocos2d::CCScene* scene(); virtual bool init(); void scroll(float tm); CREATE_FUNC(HelloWorld); }; #endif
#include "HelloWorldScene.h" #include "SimpleAudioENGIne.h" HelloWorld::HelloWorld() { } HelloWorld::~HelloWorld() { } CCScene* HelloWorld::scene() { CCScene *scene = CCScene::create(); HelloWorld *layer = HelloWorld::create(); scene->addChild(layer); return scene; } bool HelloWorld::init() { if (!CCLayer::init()) { return false; } CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize(); //添加背景图片 CCSprite * BACkground = CCSprite::create("HelloWorld.png"); BACkground->setPosition(ccp(visibleSize.width / 2,visibleSize.height / 2)); this->addChild(BACkground,1); //设置文本信息 CCLabelTTF * text = CCLabelTTF::create("跑马灯,跑马灯,跑马灯,跑马灯,跑马灯!","Arial",22); text->setColor(ccc3(0,255,255)); text->setPosition(ccp(visibleSize.width / 2,visibleSize.height * 4 / 5)); this->addChild(text,1,0); //使用定时器,每0.005秒回调一次,产生移动的效果 this->schedule(schedule_SELEctor(HelloWorld::scroll),0.005f); return true; } void HelloWorld::scroll(float tm) { CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize(); CCLabelTTF * text = (CCLabelTTF *)this->getChildByTag(0); CCPoint point = text->getPosition(); text->setPosition(ccp(point.x - 1,point.y)); //当text完全出去的时候重新设置它的坐标 float width = text->getContentSize().width; if (point.x < -width / 2) { text->setPosition(ccp(visibleSize.width + width / 2,visibleSize.height * 4 / 5)); } }
以上是大佬教程为你收集整理的Cocos2d-2.x_跑马灯效果全部内容,希望文章能够帮你解决Cocos2d-2.x_跑马灯效果所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。