我一直在使用JSTileMap在我的游戏中处理TMX瓷砖地图,到目前为止,自然 - 我只使用方形瓷砖(附图中的示例)。然而,我想使用斜坡式瓷砖(也是图中的例子),这是三角形,到目前为止 - 我没有找到一种方法让游戏将它们当作三角形(给予瓷砖平方,显然不适合斜坡式瓷砖)。SpriteKit和瓷砖 - 使用不是正方形的瓷砖
我该怎么做?使用JSTileMap有可能吗?任何其他外部库?或者它必须特别注意(如here中所述)
谢谢!
我一直在使用JSTileMap在我的游戏中处理TMX瓷砖地图,到目前为止,自然 - 我只使用方形瓷砖(附图中的示例)。然而,我想使用斜坡式瓷砖(也是图中的例子),这是三角形,到目前为止 - 我没有找到一种方法让游戏将它们当作三角形(给予瓷砖平方,显然不适合斜坡式瓷砖)。SpriteKit和瓷砖 - 使用不是正方形的瓷砖
我该怎么做?使用JSTileMap有可能吗?任何其他外部库?或者它必须特别注意(如here中所述)
谢谢!
有任何tilebased渲染没有 “三角” 牌。图像中的灰色区域只需要透明。至于碰撞处理,这是您需要在基于平铺GID的代码中处理的内容。
谢谢。将“三角形贴图”放在TMX的一个单独的图层中是否有意义? (使它们易于操作) – Zephyer
不,不是真的。你不应该为瓷砖地图中的特定瓷砖层叠,而是为了特定的目的(例如,碰撞,前景,背景等)。 – LearnCocos2D
这是我的解决方案:
在吉德例如:
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
我真的不理解downvotes。这可能是每个初学游戏开发者自问的问题。会喜欢评论而不是排名变化。 – Zephyer