0

我一直在使用 JSTileMap 来处理我的游戏中的 TMX 瓦片地图,到目前为止,很自然 - 我只使用了方形瓦片(示例在所附图像中)。

但是,我想使用斜坡样式的瓷砖(也是图像中的示例),它们是三角形,到目前为止 - 我还没有找到一种方法让游戏将它们视为三角形(赋予瓷砖的边界是平方的,并且显然这不适合坡道式瓷砖)。

我该怎么做呢?JSTileMap 可以吗?任何其他外部库?或者它必须特别注意(如这里所述,有点)

谢谢!

平铺示例

4

2 回答 2

2

在任何基于瓷砖的渲染器中都没有“三角形”瓷砖。图像中的灰色区域只需要透明即可。至于碰撞处理,这是您需要在基于 tile GID 的代码中处理的事情。

于 2014-06-20T06:37:48.710 回答
0

这是我的解决方案:

在 Gid 示例中:

             case 455: //example gid code
                    //slide to left
                    node!.name = "rampLeft1"
                    let path: CGMutablePathRef = CGPathCreateMutable()
                    CGPathMoveToPoint(path, nil, 0 , 0 )
                    CGPathAddLineToPoint(path, nil, 64 , 64 )//tilesize 64x64
                    CGPathAddLineToPoint(path, nil, 64 , 0 )
                    CGPathAddLineToPoint(path, nil, 0 , 0 )
                    CGPathCloseSubpath(path)

                    //example view
                    var llshape = SKShapeNode(path: path)
                    llshape.position = node!.position
                    llshape.zPosition = 30
                    addChild(llshape)


                    node.physicsBody = SKPhysicsBody(polygonFromPath: path)
                    node.physicsBody?.dynamic = false
                    node.physicsBody?.allowsRotation=false
                    node.physicsBody?.affectedByGravity = false
                    node.physicsBody?.friction = 0.1
于 2015-03-02T15:08:11.420 回答