复杂的问题。因此,有一个 png'shka,上面有一堆 30x30 的瓷砖。我Sprite Editor
在帮助下将其全部剪切并得到了一个图集(我正确地调用了实体吗?):
此外,我想以某种方式将地图集的每个元素映射到常量:
public class TitleMap
{
public const string GROUND_DESERT = "desert";
public const string GROUND_GREEN_GRASS = "green_grass";
public const string GROUND_SANDY_LOAM = "sandy_loam";
// Common roads
public const byte NEW_VERT_ROAD = 1;
public const byte NEW_HORZ_ROAD = 2;
public const byte BRK_VERT_ROAD = 3;
public const byte BRK_HORZ_ROAD = 4;
public const byte RSD_HORZ_ROAD = 6;
public const byte CROSS_ROAD = 8;
// Rotated roads
public const byte RTT_BOTTOM_RIGHT_ROAD = 10;
public const byte RTT_BOTTOM_LEFT_ROAD = 11;
public const byte RTT_TOP_LEFT_ROAD = 12;
public const byte RTT_TOP_RIGHT_ROAD = 13;
// Decor
public const byte GREENERY_BUSH = 15;
public const byte GREENERY_TREE_1 = 16;
public const byte GREENERY_TREE_2 = 17;
public const byte GREENERY_TREE_3 = 18;
// ......
}
为了将CSV
这些值发送给我,在它们之后我渲染了这些精灵。
总计:如何加载图集,然后使用它,之前已经将它映射到常量?
您可以通过这种方式从图集中加载精灵(此处为“Test”+资源文件夹中图集的名称/路径)。并将每个图集的常数从 0-N 减少到索引。您可以在游戏开始时执行此操作,或提前将其添加到脚本中。
ps 在这种使用常量的方法中,一个巨大的减号,如果您需要删除图集中间或开头的一些精灵,则其他所有内容都需要重新编号。
pss 可以这样避免图集中常量和数字的硬绑定:
底线是你根据这些常量给精灵命名,然后你可以检查精灵中是否有一个名字带有这样的常量。
剩下的只是根据需要重命名所有精灵,并根据常量使用索引将它们缝合起来。您可以为每个地图集单独执行此操作(在我的情况下,适用于所有地图集)。并且在为精灵添加或删除新常量时,还需要编辑CheckSprite,因为编号将不起作用,您不需要为每个图集从0-N进行编号。
这样的检查在启动时会给一个小的Overhead,所以最好提前做好并保存。