怎么通过SpriteFrame获取SpriteAtlas

image
写自定义Assembler,希望拖入一张SpriteFrame图片,能获取到它所在的SpriteAtlas

老铁,sprite.ts源码看一下,有个变量spriteAtlas.看看是不是你想要的.

这个变量设计了但是一直是空字符串

只有你在编辑器上拖上了图集中的资源,atlas才有值的呀

我是希望获取到Atlas自动给他赋值
不然我随便拖一个别的Atlas不是乱套了么

你这个spriteFrame没有属于任何图集啊。自然没有atlas

对啊,楼上兄弟说的对,你的sprite对应的图片没有图集,哪来的atlas,有altas,根据子图的名字自然就能获取到里面的子图

我是提前有TexturePacker打包Atlas图集
这张图片是图集帧
2.x拖上去会自动获取Atlas,但是3.x不会

遍历一下所有图集的spriteFrames,然后根据判断有没有对应的uuid,再设置SpriteAtlas?

嗯嗯,可以试下

只要是图集里面的spriteFrames,肯定带有图集的。你自己断点看一下那个值。我这边动态合图一样拿来用。拖动过去没有图集,动态加载的时候,是有的

我是想拖动SpriteFrame过去以后,自动把SpriteAtlas显示在属性面板上
这个2.x是底层实现的,3.x没有要自己实现

image
看源码,sprite-frame里有个atlasUuid

这个atlasUuid有可能会是空的

一直都是空的,感觉声明了但没维护过

不会自动获取atlas,你可以手动将atlas托上去啊 :expressionless:

不希望手动拖,多余的操作,还可能拖错,所以才想做成自动获取

自己用tp工具打图集,这个功能感觉要逐渐废弃了,bf字体不能打进去,很难用,还有3.x出这么久为啥这么久没人吐槽这个问题呢。你真要用的话,又怕出错,就直接放ab包中读取atlas去动态设置就行了

意思是用动态图集吗。另一个贴今天刚说动态图集只适合小项目,越来越不适用了哈哈哈哈哈

哈哈,在哪呢,我去瞅一下