直奔主题:
如果项目中有对一张图片进行了uv等操作,不管是C#代码还是shader啥的,
如果这张图参与了SpriteAtlas图集的合并,
那么之前那些和坐标相关的操作,都要特殊处理一下。
比如img没打图集前该图实际尺寸是600*600,
那么img.sprite.texture.width就是600;
打进图集之后,图集是1024*1024,
那么img.sprite.texture.width就是1024。
所以要对img特殊算一下。
主要用到:
动态加载图片赋值时判断该图是否被打进了图集的接口:
image.sprite.packed
获取图片尺寸:
img.sprite.textureRect.x/y
img.sprite.texture.width/height
具体计算方式不做赘述。