我的需求是切割一个大图为一些小图。
使用cc.SpriteFrame.setRect方法吗
卧槽,能不能来点人
有人回答一下吗
另外咨询一下,有没有办法在一个Sprite上通过offset去drawTexture
this._texture是一张完整的大图
let tex = new cc.SpriteFrame(this._texture, cc.rect(width, height, width, height));
let node = new cc.Node(“sp”);
node.parent = this.node;
let sp = node.addComponent(cc.Sprite);
sp.spriteFrame = tex;
1赞
我目前也是这么做的。用的rect去裁剪。
但我觉得并不是很优雅
而且我感觉SpriteFrame明显比Texture2D要重的多
你是怎么感觉到SpriteFrame比Texure2D重的呀?
Texture2D对应的是真正的纹理,SpriteFrame只是对Texture2D作纹理渲染的控制,比如显示哪些部分。
明显就比Texture2D轻很多。
是这样的。Texture作为贴图,SpriteFrame是封装了Texture2D,扩展了Texture2D。我们让SpriteFrame持有某一个Texture2D的引用,并通过他去设置显示隐藏裁剪等操作。里面会多出来很多方法和属性。这就决定了SpriteFrame比Texture2D要重。
1赞
请问解决了吗,我现在也是想要Texture2D,我想把 SpriteAtlas里的spriteFrame转成一张张的Texture2D,但是没有找到什么方法