HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 如何在SpriteKit中模拟大于屏幕的世界?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在寻找适当的SpriteKit方法来处理可滚动的世界.请虑以下图像:

在这个人为的例子中,世界边界是虚线,蓝点可以在这些边界内的任何地方移动.然而,在任何给定点,该世界的一部分可以在屏幕外存在,如图像所示.我想知道如何将蓝点移动到“世界”的任何地方,同时保持相机静止在蓝点上.

解决方法

This is Adventure,a sprite kit game by apple to demonstrate the point I made below. Read through the docs,they explain everything

这是我目前无法找到的一个很好的答案.基本的想法是这样的

>在场景中添加“世界”节点.您可以给它一个宽度/高度大于屏幕尺寸.
>当你’移动’角色(或蓝点)时,你实际上移动了你的世界节点,但方向相反,这给人的印象是你正在移动.

这样屏幕总是以蓝点为中心,而你周围的世界会移动

下面是我刚刚进行实验的一个例子:

override func didMoveToView(view: SKView) {
        self.anchorPoint = CGPointMake(0.5,0.5)
        //self.size = CGSizeMake(600,600)

        // Add world
        world = SKShapeNode(rectOfSize: CGSize(width: 500,height: 500))
        world.fillColor = SKColor.whiteColor()
        world.position = CGPoint(x: size.width * 0.5,y: size.height * 0.5)
        world.physicsBody?.usesPreciseCollisionDetection = true
        self.addChild(world)
}

override func update(currentTime: CFTimeInterval) {
        world.position.x = -player.position.x
        world.position.y = -player.position.y
}
@H_696_27@

大佬总结

以上是大佬教程为你收集整理的ios – 如何在SpriteKit中模拟大于屏幕的世界?全部内容,希望文章能够帮你解决ios – 如何在SpriteKit中模拟大于屏幕的世界?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。