我一直在使用JSTileMap在我的游戏中处理TMX平铺地图,到目前为止,自然而然 - 我只使用方形平铺(附图中的示例)。
然而,我想使用渐变式样式(也是图像中的示例),这是三角形,到目前为止 - 我没有找到一种方法让游戏将它们视为三角形(赋予图块的界限)平方,显然不适合斜坡式瓷砖。
我该怎么做?是否可以使用JSTileMap?任何其他外部图书馆?或者必须特别注意(如here中所描述的那样)
谢谢!
答案 0 :(得分:2)
没有"三角形"任何基于tile的渲染器中的tile。图像中的灰色区域只需要是透明的。至于碰撞处理,你需要根据瓷砖GID在代码中处理这些事情。
答案 1 :(得分: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