我正在创建一个基于轮的游戏,我有一个游乐场作为一个SKTileMapNode,在每个瓷砖上都有草的纹理,人物可以从瓷砖走到瓷砖。每个角色都有自己的伸展范围,他们可以在一轮比赛中行走。我想要显示这个范围,以便玩家可以看到所选角色的范围。我的问题是:我如何才能改变那些在特定字符所在的磁贴范围内的磁贴的颜色?带有纹理的SKSpriteNode可以简单地通过.color
和.colorBlendFactor
来改变它们的颜色,这样我的绿色草地纹理就会得到例如红色的触摸。如何在SKTileMapNode中使用特定的磁贴来做到这一点?
发布于 2019-03-22 03:06:51
let tile = tileMap.tileDefinition(atColumn: column, row: row)
一旦你有了瓷砖,你就可以修改瓷砖tile.textures
的纹理,使之包括着色纹理,或者自己绘制彩色纹理(混乱,但这是一个example )。
我推荐一种不同的方法,获取你想要着色的瓦片的中心,并使用这个tileMap.centerOfTile(atColumn: column, row: row)
及其大小tileMap.tileSize
在你想要着色的瓦片上方创建节点SKSpriteNode
。
https://stackoverflow.com/questions/55287480
复制相似问题