ios - Cocos2d 中的无限水平滚动

标签 ios objective-c cocos2d-iphone

如何在没有 block 间隙的情况下在 cocos2d 中创建无限背景。我正在构建一个球从左向右移动的应用程序,我希望它无限移动。好吧,在那种情况下,我会有一个无尽的背景,这样球就可以继续移动。我在图像之间有问题。我一直在搜索这个问题,但没有发现任何实际有效的东西。

Actual screen shot with gab between the images

我在下面添加了代码

-(void)scroll:(ccTime )time
{
tree1.position  =   ccp(tree1.position.x-1, tree1.position.y);
tree2.position  =   ccp(tree2.position.x-1, tree2.position.y);

if (tree1.position.x<-tree1.boundingBox.size.width) {
    tree1.position  =   ccp(tree2.position.x +tree2.boundingBox.size.width,  tree1.position.y);
}

if (tree2.position.x<-tree2.boundingBox.size.width) {
    tree2.position  =   ccp(tree1.position.x + tree2.boundingBox.size.width, tree1.position.y);
}

}

最佳答案

如果为创建无限滚动而滑动的 Sprite 之间出现间隙,最简单的常见解决方案是将背景条纹重叠 1 个像素。

在您的图像中,当您将 Sprite 从左侧移动到右侧时,似乎会出现间隙。你有没有移动你的 Sprite 的 anchor ?所以现在它们左对齐?

关于ios - Cocos2d 中的无限水平滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23988353/

相关文章:

ios - 如何在 iOS 上高效地使用 REST API 的值对象

ios - 处理多个 NSURL 连接的最佳方式

ios - 作为一个单元旋转时重叠 SpriteNode

iphone - 无法从其他类调用实例方法

ios - 为什么在 ModelController.h 中使用@class DataViewController?

ios - 正交tilemap cocos2d游戏在iPhone上运行时为什么会出现tile之间的空隙?

C++ 我是否正确添加和访问我的 vector ?

ios - Cocos2d播放2个不同的背景音乐文件或循环播放效果

ios - AppDelegate中发生奇怪的泄漏

ios/xcode/objective-c : swap uilabel for uitextfield based on internet connection