#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)); } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。