2014-06-20 141 views
0

我一直在使用JSTileMap在我的游戏中处理TMX瓷砖地图,到目前为止,自然 - 我只使用方形瓷砖(附图中的示例)。然而,我想使用斜坡式瓷砖(也是图中的例子),这是三角形,到目前为止 - 我没有找到一种方法让游戏将它们当作三角形(给予瓷砖平方,显然不适合斜坡式瓷砖)。SpriteKit和瓷砖 - 使用不是正方形的瓷砖

我该怎么做?使用JSTileMap有可能吗?任何其他外部库?或者它必须特别注意(如here中所述)

谢谢!

tile example

+0

我真的不理解downvotes。这可能是每个初学游戏开发者自问的问题。会喜欢评论而不是排名变化。 – Zephyer

回答

2

有任何tilebased渲染没有 “三角” 牌。图像中的灰色区域只需要透明。至于碰撞处理,这是您需要在基于平铺GID的代码中处理的内容。

+0

谢谢。将“三角形贴图”放在TMX的一个单独的图层中是否有意义? (使它们易于操作) – Zephyer

+0

不,不是真的。你不应该为瓷砖地图中的特定瓷砖层叠,而是为了特定的目的(例如,碰撞,前景,背景等)。 – LearnCocos2D

0

这是我的解决方案:

在吉德例如

   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