--node,要截圖這個精靈的點
-- params:{
-- size:截取的大小
-- bigger:外闊的寬度
-- }
--[[
--如果需要轉動的話
node:setRotation(90)
node:performWithDelay(function ( )
node:setRotation(0)
end, 0.01)
]]
function MyApp:doCaptureNode(node, params)
params = checktable(params) or {}
local bigger = params.bigger or 0
local node = node or display.getRunningScene()
local parent = node:getParent()
local parentPos
if parent then
parentPos = cc.p(parent:getPosition())
local basePos = parent:convertToWorldSpace(cc.p(0, 0))
parent:setPosition(cc.pSub(parentPos, basePos))
end
local nodePos = cc.p(node:getPosition())
local nodeSize = node:getContentSize()
local nodeBasePos = node:convertToWorldSpace(cc.p(0,0))
node:setPosition(nodePos.x-nodeBasePos.x+bigger, nodePos.y-nodeBasePos.y+bigger)
nodeSize = params.size or nodeSize
local texture = cc.RenderTexture:create(nodeSize.width+2*bigger, nodeSize.height+2*bigger);
texture:beginWithClear(0,0,0,0)
node:visit()
texture:endToLua()
if parent then
parent:setPosition(parentPos)
end
node:setPosition(nodePos)
-- local sp = texture:getSprite()
texture:getSprite():align(display.BOTTOM_LEFT,0,0)
texture:saveToFile("myapp.png", cc.IMG_FORMAT_PNG)
return texture
end