我可以添加背景和移动它,但完成后,该动作的屏幕变黑。
有人可以帮我吗?
我的代码是
CCParallaxNode parallaxNode;CCSprite spacedust1;CCSprite spacedust2;CCSprite planetsunrise;CCSprite galaxy;CCSprite spacialanomaly;CCSprite spacialanomaly2;parallaxNode = CCParallaxNode.node(); spacedust1 = CCSprite.sprite("bg_front_spacedust.png"); spacedust2 = CCSprite.sprite("bg_front_spacedust.png"); planetsunrise = CCSprite.sprite("bg_planetsunrise.png"); galaxy = CCSprite.sprite("bg_galaxy.png"); spacialanomaly = CCSprite.sprite("bg_spacialanomaly.png"); spacialanomaly2 = CCSprite.sprite("bg_spacialanomaly2.png"); // 3) Determine relative movement speeds for space dust and background // CGPoint cgPoint = CGPoint.ccp(0.1,0.1); CGPoint dustSpeed = CGPoint.ccp(10,10); CGPoint bgSpeed = CGPoint.ccp(5,5); // CGPoint bgSpeed = ccp(0.05,0.05); parallaxNode.addChild(spacedust1,dustSpeed.x,dustSpeed.y,winSize.height / 2); parallaxNode.addChild(spacedust2,spacedust1.getContentSize().wIDth,winSize.height / 2); parallaxNode.addChild(galaxy,-1,bgSpeed.x,bgSpeed.y,10); parallaxNode.addChild(planetsunrise,600,5); parallaxNode .addChild(spacialanomaly,900,20); parallaxNode.addChild(spacialanomaly2,1500,30); CCIntervalAction go = CCMoveBy.action(4,CGPoint.ccp(winSize.wIDth,0)); CCIntervalAction goBack = go.reverse(); CCIntervalAction seq = CCSequence.actions(go,goBack); CCRepeatForever action = CCRepeatForever.action(goBack); parallaxNode.runAction(action);我看到,因为没有一个单一的答案为你工作。我将提供一个简单的代码,将帮助您为您的parralax滚动背景。
在游戏图层构造函数中添加此代码
background1 = CCSprite.sprite("bg2.png");background2 = CCSprite.sprite("bg2.png");background1.setposition(CGPoint.ccp(winSize.wIDth*0.5f,winSize.height*0.5f));addChild(background1);background2.setposition(CGPoint.ccp(winSize.wIDth+winSize.wIDth*0.5f,winSize.height*0.5f));addChild(background2);
和每毫秒调度的滚动方法。
在构造函数中添加
this.schedule("scroll");
现在滚动方法。
public voID scroll(float dt) { CGPoint pos1 = background1.getposition(); CGPoint pos2 = background2.getposition(); pos1.x -= 5.0f; pos2.x -= 5.0f; if(pos1.x <=-(winSize.wIDth*0.5f) ) { pos1.x = pos2.x + winSize.wIDth; } if(pos2.x <=-(winSize.wIDth*0.5f) ) { pos2.x = pos1.x + winSize.wIDth; } background1.setposition(pos1); background2.setposition(pos2);}
标记我的答案如果它的工作。
总结以上是内存溢出为你收集整理的添加无尽的视差背景在cocos2d android全部内容,希望文章能够帮你解决添加无尽的视差背景在cocos2d android所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)