Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 围绕平铺贴图创建边界_Ios_Swift_Sprite Kit - Fatal编程技术网

Ios 围绕平铺贴图创建边界

Ios 围绕平铺贴图创建边界,ios,swift,sprite-kit,Ios,Swift,Sprite Kit,我已经创建了一个由367x367的多个精灵节点组成的平铺贴图。我这样创建此地图: for var i = 0; i < Int(multiplier); i++ { for var j = 0; j < Int(multiplier); j++ { // Positive var map = SKSpriteNode(imageNamed: "tiledBackground.png") var x = CGFloat(i) *

我已经创建了一个由367x367的多个精灵节点组成的平铺贴图。我这样创建此地图:

for var i = 0; i < Int(multiplier); i++ {
    for var j = 0; j < Int(multiplier); j++ {
        // Positive
        var map = SKSpriteNode(imageNamed: "tiledBackground.png")
        var x = CGFloat(i) * map.size.height
        var y = CGFloat(j) * map.size.height
        map.position = CGPointMake(x, y)
        self.addChild(map)
    }
}
var i=0的
;i
在上面的示例中,乘数为27,贴图大小为10000x1000

这将按预期创建地图,但我希望此地图具有玩家无法离开的边界。我知道如何创建边界,但我不确定用什么值初始化物理体。 我已经尝试过:
SKPhysicsBody(rectangleOfSize:map.mapSize)
但是这产生了非常错误的结果

我也试过:
SKPhysicsBody(edgeLoopFromRect:CGRectMake(0,0,map.mapSize.width,map.mapSize.height))
它构建了一个物理实体,就像它应该的那样(我已经显示了physics=TRUE),但是物理实体似乎随着播放器移动(我让播放器移动,并且将地图放在播放器的中心)。你可以看到我在这里的意思:(这有点难看,但那条绿线是物理体的边界。当平铺贴图结束时(在它变成灰色的地方),物理体应该停止,因为这是不允许玩家再移动的地方)。
如果您需要更多的代码,请留下评论(我相信我包含了任何相关的内容)。

在修改了一些代码后,我发现一个解决方法是将physicsBody添加到我的地图中,而不是场景中。这是一个相当容易的解决方案,所以我很惊讶我没有早点想到。 考虑到这一点,我已经回答了自己的问题,不再需要帮助