我已经查过了班级推荐信和其他几篇S.O.的帖子,但似乎无法按照我需要的方式呈现我的场景。根据我目前的发现,可以将SKScene.size属性设置为一些CGSize,视图将显示该大小的SKScene。但是,当我更改size属性的值时,设备屏幕上的视觉效果不会有任何变化。
我创建了一个SKShapeNode作为我的“世界”,并将其大小设置为7000个单位乘以7000个单位

world = SKShapeNode(rectOfSize: CGSizeMake(7000, 7000))

当我加载场景时,正如预期的那样,只显示了世界的一小部分。
我知道这会与屏幕的高度和宽度不成比例,但为了简单起见,如何改变SKScene在设备屏幕上显示整个7000×7000世界?

最佳答案

你不应该用这种方式改变场景。创建一个7000*7000点的场景将使Retina iPad每秒渲染9800万像素60次。哎哟。
缩放子节点
只需创建一个新的SKnodesize并将SKShapeNode作为子节点添加到此节点。当您希望“缩放”时,缩小sceneContents节点(通过SKNode的sceneContentsxScale属性)。你可以用SKAction来做这个,所以它很好很光滑。
斯卡梅兰诺德
如果您可以转到iOS 9,我建议您查看SKCameraNode。目前仍处于测试阶段,但运行良好。
只需创建一个SKCameraNode,将其添加到场景中,并将其设置为场景的摄影机。

SKCameraNode *camera = [SKCameraNode new];
[self.scene addChild:camera];
self.scene.camera = camera;
camera.xScale = 10.f;
camera.yScale = 10.f;

嗯,我应该尽快学会。不过,这一概念应该是明确的。可以使用SKAction以动画方式操纵摄影机节点。

关于swift - 您如何更改SKScene的显示 View ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32062888/

10-15 03:02