我知道能用TexturePacker将很多张小图合成一张SpriteSheets文件和一个plist文件,那么现在有这两个文件,怎么把它还原成之前的小图?
楼主解决这个问题了么 求指导
解析成Texture2D
然后一张张保存
導入cocostudio…就會自動存小圖
导入cocostudio里面就可以了。
— Begin quote from ____
引用楼主frusola于2013-10-31 09:53发表的 怎么样分割由TexturePacker生成的SpriteSheets图和plist文件 :
我知道能用TexturePacker将很多张小图合成一张SpriteSheets文件和一个plist文件,那么现在有这两个文件,怎么把它还原成之前的小图? http://www.cocoachina.com/bbs/job.php?action=topost&tid=165225&pid=tpc
— End quote
plist里不是有坐标和大小嘛,自己切吧,嘎哈^_^
local plistFile = "" --你的plist路径
local pngFile = "" --你的大图路径
cc.SpriteFrameCache:getInstance():addSpriteFrames(plistFile) --加载图片进内存
local vectormap = cc.FileUtils:getInstance():getValueMapFromFile(plistFile) --读取plist
local frames = vectormap.frames
local writablePath = cc.FileUtils:getInstance():getWritablePath()
for key,value in pairs(frames) do
local str = key --获得plist内的图片名
local spr = cc.Sprite:createWithSpriteFrameName(str)
local size = spr:getContentSize()
local render = cc.RenderTexture:create(size.width, size.height)
spr:setPosition(cc.p(size.width / 2, size.height / 2))
render:begin()
spr:visit()
render:endToLua()
render:saveToFile(writablePath .. str, cc.IMAGE_FORMAT_PNG) --写到文件
print("save " .. str .. " to ".. writablePath .. str)
end
不错,感谢分享
学习了。。。。
想方便就用textureunpacker,想验证原理就自己撸一个,plist记录了散图的所有信息,要拆出来不难的