滚动的游戏背景在射击类游戏中比较常见(如:雷霆战机),下面用cocos2dx实现背景的无限滚动(基于引擎cocos2dx2.1.4)
<span >voID MainScene::update(float delta){ //创建滚动的主游戏背景 CCSize spsize = m_bgsprite1->getContentSize(); //CCSize spsize = CCSizeMake(854,480); int m1 = m_bgsprite1->getpositionX(); int m2 = m_bgsprite2->getpositionX(); int xspeed = 1; m1 -= xspeed; m2 -= xspeed; if(m1 < -spsize.wIDth/2){ m1 = spsize.wIDth+spsize.wIDth/2; m2 = spsize.wIDth/2; } if(m2 < -spsize.wIDth/2){ m2 = spsize.wIDth+spsize.wIDth/2; m1 = spsize.wIDth/2; } m_bgsprite1->setpositionX(m1); m_bgsprite2->setpositionX(m2); //将主角设置为可移动对象 CCPoint curpos = this->getChildByTag(1)->getposition(); this->getChildByTag(1)->setposition(ccp(curpos.x+xSpeed,curpos.y+ySpeed)); }</span>
xspeed为背景滚动速度,m_bgsprite1为背景图片
总结以上是内存溢出为你收集整理的cocos2dx实现背景的无限滚动全部内容,希望文章能够帮你解决cocos2dx实现背景的无限滚动所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)