我正在 cocos 2d 中创建游戏,
我想制作一个连续滚动的视差层。例如我的场景是:
几朵云在背景中移动。一旦它到达右侧屏幕的末端,它应该再次从屏幕左侧出现。或者像永无止境的视差这样的效果。请问有什么想法吗?
我正在 cocos 2d 中创建游戏,
我想制作一个连续滚动的视差层。例如我的场景是:
几朵云在背景中移动。一旦它到达右侧屏幕的末端,它应该再次从屏幕左侧出现。或者像永无止境的视差这样的效果。请问有什么想法吗?
你真的不需要为此创建视差节点,
创建你的云精灵:
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)]];
}
}
您可以根据图层的“深度”,以您移动相机或主角的速度的倍数移动图层,从而在 2D 游戏中实现视差;例如,当玩家移动 1 个单位距离时,深度 1 的层移动 0.5,深度 2 的层移动 0.25,深度 3 的层移动 0.125,等等。