我一直在使用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