加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ios – Spritekit游戏中无尽的滚动(重复)背景 – Swift

发布时间:2020-12-15 01:45:24 所属栏目:百科 来源:网络整理
导读:我想为我的spritekit游戏创建一个无尽的滚动背景,iT应该包含一两个图像,它们会重复自己?我找到了这些 one和 two的例子,但它们都是obj. C. 我不知道如何在Swift中实现这一点.是否可以手动设置速度? Ps:我没有转换obj的技能. C进入swift(新手到Xcode dev.)
我想为我的spritekit游戏创建一个无尽的滚动背景,iT应该包含一两个图像,它们会重复自己?我找到了这些 one和 two的例子,但它们都是obj. C.

我不知道如何在Swift中实现这一点.是否可以手动设置速度?

Ps:我没有转换obj的技能. C进入swift(新手到Xcode dev.)

解决方法

我找到了一种方法来做到这一点,不知怎的,我设法转换 this obj. C迅速

您必须公开声明这两个节点

let background1 = SKSpriteNode(imageNamed: "bg1")
let background2 = SKSpriteNode(imageNamed: "bg2")

在“didMoveToView”方法中

background1.anchorPoint = CGPointZero
background1.position = CGPointMake(0,0)
background1.zPosition = -15
self.addChild(background1)

background2.anchorPoint = CGPointZero
background2.position = CGPointMake(0,background1.size.height - 1)
background2.zPosition = -15
self.addChild(background2)

并在您添加的“覆盖功能更新(currentTime:CFTimeInterval)”方法中

background1.position = CGPointMake(background1.position.x,background1.position.y - 2)
background2.position = CGPointMake(background2.position.x,background2.position.y - 2)

            if(background1.position.y < -background1.size.height)
            {
                background1.position = CGPointMake(background2.position.x,background1.position.y + background2.size.height )
            }

            if(background2.position.y < -background2.size.height)
            {
                background2.position = CGPointMake(background1.position.x,background2.position.y + background1.size.height)

            }

我不知道这是否是最有效的方式.其他问题提到了For循环.但在我看来这更容易.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读