4

我正在 cocos 2d 中创建游戏,

我想制作一个连续滚动的视差层。例如我的场景是:


几朵云在背景中移动。一旦它到达右侧屏幕的末端,它应该再次从屏幕左侧出现。或者像永无止境的视差这样的效果。请问有什么想法吗?


4

2 回答 2

1

你真的不需要为此创建视差节点,

创建你的云精灵:

CCSprite *blackCloud;//set it's image and position it:
//code for init
blackCloud.position = ccp(580,300);

//call selector (don't unscheduled it)
[self schedule:@selector(blackCloudMovement) interval:1/30];


-(void)blackCloudMovement
  {
    if (blackCloud.position.x == -100)
    {
        [blackCloud setPosition:ccp(580,300)];
        [blackCloud runAction:[CCMoveTo actionWithDuration:6 position:ccp(-100,300)]];
    }
  }
于 2012-07-17T04:43:46.587 回答
0

您可以根据图层的“深度”,以您移动相机或主角的速度的倍数移动图层,从而在 2D 游戏中实现视差;例如,当玩家移动 1 个单位距离时,深度 1 的层移动 0.5,深度 2 的层移动 0.25,深度 3 的层移动 0.125,等等。

于 2012-07-17T05:08:41.290 回答