objective-c - 循环移动背景 Objective-C

标签 objective-c cocoa-touch animation

我正在测试一个背景循环动画,其中将有尺寸为 1024x768 像素的图像,向左移动,离开屏幕,然后跳回另一侧,并重复。

我能够通过为两个背景图像创建一个恒定的移动速度来做到这一点(成功),然后我尝试了下面的代码让它跳跃,但是有一个问题:

    if((background.center.x) < -511){
        background.center = CGPointMake(1536, background.center.y);
    }

    if((background2.center.x) < -511){
        background2.center = CGPointMake(1536, background2.center.y);
    }

不知何故,这并没有按我预期的方式工作。每次都会留下几个像素的间隙,我很困惑为什么。有谁知道导致这种情况发生的原因以及如何解决?谢谢!

最佳答案

您似乎忘记考虑移动的距离。大于表达式可能已被触发,因为你移动到很远。我猜你的运动大于 1 像素/帧。

我不确定什么样的值(value)观正在插入你的运动,但我认为要考虑到你应该做的事情......

 if ((background.center.x) < -511){
    CGFloat dist = background.center.x + 512;
    background.center = CGPointMake(1536+dist, background.center.y);
 }

 if ((background2.center.x) < -511){
    CGFloat dist = background2.center.x + 512;
    background2.center = CGPointMake(1536+dist, background2.center.y);
 } 

关于objective-c - 循环移动背景 Objective-C ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7623992/

相关文章:

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

java - 在 Android 中翻译时如何让 ImageView 旋转?

iphone - 在 iPhone 上更改 UITabBarItem 色调颜色

ios - stringbyreplacingoccurrencesofstring 不适用于\in iphone

ios - 如何从 NSMutableArray 中删除空字符串数据

ios - 将 maxlength 设置为特定的 UITextField

ios - 界面生成器警告(但工作正常)

iphone - iOS - 如何在两个 View 之间创建自定义过渡?

javascript - 如何在 jQuery 中以相同的速度为每个元素设置动画?

ios - 如何使用包含多个导航 Controller 的 View 层次结构弹出到 Root View Controller