4
我有三个图像(320x480),我试图在Cocos2D应用程序中垂直滚动。Cocos2D垂直滚动背景
在我的初始化方法,我有以下几点:
//adding background sprites
background = [CCSprite spriteWithFile:@"BG1.png"];
background2 = [CCSprite spriteWithFile:@"BG2.png"];
//position background sprites
background.position = ccp(size.width, size.height/2);
background2.position = ccp(size.width, size.height*2);
//schedule to move background sprites
[self schedule:@selector(scroll:)];
//adding them to the main layer
[self addChild:background z:0];
[self addChild:background2 z:0];
这是我的涡旋式压缩机方法:
-(void) scroll:(ccTime)dt
{
//move 30*dt px vertically
background.position = ccp(background.position.x, background.position.y - 30*dt);
background2.position = ccp(background2.position.x, background.position.y - 30*dt);
//reset offscreen position
if (background.position.y < 290)
{
background.position = ccp(480/2, 480);
}else if (background2.position.y < 290)
{
background2.position = ccp(480/2,480);
}
}
目前所发生的事情是我的第一个背景图像通过的大约四分之一偏移屏幕(水平),它从屏幕底部开始四分之一处,但是它向下滚动。我的第二张背景图片实际上并没有产生,第一张图片在偏移时反复循环。有什么办法可以使两幅图像在背景中平滑地循环,以及如何合并第三幅图像?
此外,只是一个快速的侧面问题,它是不好的命名对象(我认为他们是对象)与他们的名字中的数字(即background2/background3)?
在我看来就像background2的y坐标是太高,所以它开始关闭屏幕并在那里停留。 – lins314159 2011-03-29 22:43:26