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

swift – SpriteKit-如何放大和缩小SKScene?

发布时间:2020-12-14 05:33:05 所属栏目:百科 来源:网络整理
导读:如果我在SpriteKit中制作一个具有大“世界”的游戏,并且我需要用户可以选择放大和缩小SKScene,我该如何解决这个问题呢?或者,为了简化操作,在didMoveToView函数中,如何向用户设备的屏幕显示更多世界(不使用world.runAction(SKAction.scaleTo(0.5))或其他内容
如果我在SpriteKit中制作一个具有大“世界”的游戏,并且我需要用户可以选择放大和缩小SKScene,我该如何解决这个问题呢?或者,为了简化操作,在didMoveToView函数中,如何向用户设备的屏幕显示更多世界(不使用world.runAction(SKAction.scaleTo(0.5))或其他内容)?
有一个专门为此构建的SKCameraNode. SKCameraNode将视口定义到场景中.您可以创建摄像机节点并将其指定给场景的摄影机属性.
let cameraNode = SKCameraNode()
cameraNode.position = CGPoint(x: scene.size.width / 2,scene.size.height / 2)
scene.addChild(cameraNode)
scene.camera = cameraNode

然后,您可以在相机上创建操作并运行这些操作.所以要放大场景,你就是这样做的.

let zoomInAction = SKAction.scaleTo(0.5,duration: 1)
    cameraNode.runAction(zoomInAction)

cameraNode基本上是场景中的方形节点,我认为默认采用视图的比例?因为没有尺寸初始化器.因此,当您将其缩小时,场景看起来就像变焦一样.要缩小,你可以采取行动来增加比例.基本上想象一下整个场景中的一个矩形,而摄像机中的任何内容都会直接显示在iPhone屏幕上.您还可以添加moveTo操作和序列操作,并在操作上设置timingModes,就像它是普通的spriteNode一样.

这是WWDC,苹果人在那里展示了我刚才所说的内容. CameraNode位在结束前约3分钟.

https://developer.apple.com/videos/play/wwdc2015-604/

(编辑:李大同)

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

    推荐文章
      热点阅读