我正在使用瓷砖地图编辑器,为使用Pyglet进行游戏制作2D地图。TILES编号并保存到.tmx文件。瓷砖编号以1开始,并保持上升,但是当您翻转Tile编号以按位更改瓷砖编号时,您知道您知道如何翻转它的数据。该文献介绍了如何将其打破[这里]( https:// github在瓷砖翻转下,COM / BJORN / TILED / WIKI / TMX-MAP格式#DATA )。我不知道甚至开始的地方,我从未使用过。我为Python抬头看,并阅读了&|<< >>按位运算符在解释器中播放,但我仍然不明白如何分解瓦片数字来获取数据。我拥有的数字之一是2684354578有人可以告诉我如何做到这一点?

有帮助吗?

解决方案

数字是32位宽。上3位31,30和29标识翻转信息。

您可以通过表达式强制将这3位归零为零

result = number & 0x1FFFFFFF
.

前缀0x表示它是十六进制号码。每个数字使用值0直到9和A直到f表示4位。因此,该数量是3个零,然后是29个。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top