更改SKTileMapNode中特定图块的颜色

时间:2019-03-21 18:56:13

标签: ios swift sprite-kit sktilemapnode

我正在创建一个基于回合的游戏,其中我有一个操场作为SKTileMapNode,在每个图块上都带有草纹理,角色可以在图块之间移动。每个角色都有自己的触角,可以一圈走。我想显示此范围,以便玩家可以看到所选角色的范围。我的问题:如何更改位于特定字符所在的图块范围内的图块的颜色?带有纹理的SKSpriteNode可以简单地通过.color.colorBlendFactor来更改其颜色,以便使我的绿草纹理获得红色感。如何使用SKTileMapNode中的特定图块来做到这一点?

1 个答案:

答案 0 :(得分:0)

let tile = tileMap.tileDefinition(atColumn: column, row: row)

有了图块后,您就可以修改图块tile.textures的纹理以包括着色纹理或自己绘制彩色纹理(混乱,但这是example)。

我建议使用另一种方法,尽管获得要着色的图块tileMap.centerOfTile(atColumn: column, row: row)的中心,并使用其大小tileMap.tileSize在图块上方创建节点SKSpriteNode你想上色。