cocos2d:如何创建连续的视差层

时间:2012-07-17 04:28:44

标签: iphone ios cocos2d-iphone

我在cocos 2d中创建游戏,

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


一对云在后面移动。一旦到达右侧屏幕的末尾,它应该从屏幕的左侧再次出现。或者像永不停止的视差一样的效果。有什么想法吗?


2 个答案:

答案 0 :(得分: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)]];
    }
  }

答案 1 :(得分:0)

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