我正在使用平铺地图编辑器制作2d地图,用于制作带有pyglet的游戏。磁贴已编号并保存到.tmx文件中。图块编号从1开始并保持上升但是当您翻转图块时,图块编号会按位改变,因此当您解析数据时,您知道如何翻转它。该文档解释了如何在瓦片翻转下将其分解为[此处](https://github.com/bjorn/tiled/wiki/TMX-Map-Format#data)。我不知道从哪里开始,我从来没有使用过bitwise。我向上看了一下python并阅读了关于& | << >>按位运算符并在解释器中使用它们但我仍然不明白如何分解磁贴数字以获取数据。我有一个号码是2684354578有人可以告诉我怎么做吗?
答案 0 :(得分:0)
数字是32位宽。高3位数字31,30和29标识翻转信息。
您可以通过表达式将这3位强制为零
result = number & 0x1FFFFFFF
前缀0x表示它是十六进制数。每个数字代表4位,使用0到9和A到F的值。因此数字是3个零,然后是29个。