我正在创建一个基于圆形的游戏,其中我有一个操场作为 SKTileMapNode,每个瓷砖上都有草纹理,角色可以从一个瓷砖走到另一个瓷砖。每个角色都有自己的范围,他们可以在一轮中行走。我想显示这个范围,以便玩家可以看到所选角色的范围。我的问题:如何更改特定字符所在的瓷砖范围内的瓷砖的颜色?带有纹理的 SKSpriteNode 可以简单地通过 和 改变它们的颜色.color
,.colorBlendFactor
这样我的绿草纹理就会得到例如红色的触感。如何使用 SKTileMapNode 中的特定图块执行此操作?
问问题
348 次
1 回答
0
let tile = tileMap.tileDefinition(atColumn: column, row: row)
获得瓷砖后,您可以修改瓷砖的纹理tile.textures
以包含有色纹理或自己绘制彩色纹理(混乱,但这是一个示例)。
我会推荐一种不同的方法,即获取tileMap.centerOfTile(atColumn: column, row: row)
您想要着色的图块的中心,并使用它和它们的大小在您想要着色的图块上方tileMap.tileSize
创建节点。SKSpriteNode
于 2019-03-21T19:06:51.273 回答