贴图存储:
贴图直接扔在sprites/及其子目录下即可,内容解析器会自动递归浏览。
游戏里的图像为了高效率的调用会打包成 “atlas”。在 sprites/ 目录下的第一个子目录,比如 sprites/blocks ,决定了在放置贴图的 atlas 中的页。把方块材质扔进单位页可能会导致延迟,你最好类似原版那样组织贴图文件。
游戏会根据名称来寻找材质,比如 content/blocks/test-turret.json的名称是 test-turret,sprites/test-turret.png也是如此,所以这个贴图就由这个方块使用。
简单来说,游戏会寻找三种材质:方块、单位和物品。因此,贴图应该放在他自己的子目录下: - 方块贴图放在 sprites/blocks - 单位贴图放在 sprites/units - 物品贴图放在 sprites/items
游戏有时会修改一些贴图。炮塔和单位会有3-4px的灰边,所以再制作贴图是需要预留空白。默认外圈半径和颜色能通过修改 Block和 UnitType里的 OutlineRadius/outlineColor实现自定义。
覆盖:
你可以覆盖游戏或其他模组现有贴图,把贴图文件放在 sprites-override/就可以了。
后缀:
游戏会为一个方块寻找数个材质。
对于炮塔,由于他的他的类型,游戏会寻找名称文件<name>-heat,也就是会寻找
网页链接 。(这个就是发射一次后重载时的贴图)
对于方块和工厂来说,还有 <name>-top和<name>-liquid,这些会放置在他的每一个层上。
阅读源码就可以得知每个方块各自加载的贴图,他们通常在各自的类中的load()方法里。(core.atlas.find的参数就是调用的贴图)