2014-06-20 172 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