【发布时间】:2012-07-17 04:28:43
【问题描述】:
我正在 cocos 2d 中创建游戏,
我想制作一个连续滚动的视差层。例如我的场景是:
几朵云在背景中移动。一旦它到达右侧屏幕的末端,它应该再次从屏幕左侧出现。或者像永无止境的视差这样的效果。请问有什么想法吗?
【问题讨论】:
标签: iphone ios cocos2d-iphone
我正在 cocos 2d 中创建游戏,
我想制作一个连续滚动的视差层。例如我的场景是:
几朵云在背景中移动。一旦它到达右侧屏幕的末端,它应该再次从屏幕左侧出现。或者像永无止境的视差这样的效果。请问有什么想法吗?
【问题讨论】:
标签: iphone ios cocos2d-iphone
你真的不需要为此创建视差节点,
创建你的云精灵:
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,以此类推。
【讨论】: