加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cocos2d-lua 不渲染纹理,保存当前场景纹理为图片的方法

发布时间:2020-12-14 16:54:30 所属栏目:百科 来源:网络整理
导读:local function createRenderNodeWithPathPos(path,pos) -- body local renderNode = display:newNode() local sprite = cc.Sprite:create(path) sprite : setPosition(pos) renderNode : addChild(sprite) return renderNode end local function createRend
local function createRenderNodeWithPathPos(path,pos)
            -- body
            local renderNode = display:newNode()
            local sprite = cc.Sprite:create(path)
            sprite : setPosition(pos)
            renderNode : addChild(sprite)

            return renderNode
        end

        local function createRenderTextureWithLogoQRCode(logoRenderNode,QRCodeRenderNode)
            -- body
            local size = cc.Director:getInstance():getWinSize()
            local renderTexture = cc.RenderTexture:create(size.width,size.height)
            renderTexture : getSprite() : getTexture() : setAntiAliasTexParameters()

            renderTexture : beginWithClear(0,0)
            cc.Director:getInstance():getRunningScene() : visit()
            logoRenderNode : visit()
            QRCodeRenderNode : visit()
            renderTexture : endToLua()
            return renderTexture
        end

        local function createFileWithRenderTexture(renderTexture)
            local FORMAT_JPG = 0
            local saveRet = renderTexture : saveToFile("printScreen.jpg",FORMAT_JPG,false)
            if saveRet then
                local path = cc.FileUtils:getInstance():getWritablePath()
                return path .. "printScreen.jpg"
            else
                cc.showTextTips("截屏失败")
                return nil
            end
        end

    
        local logoRenderNode =  createRenderNodeWithPathPos("icon/ui_icon_box2.png",cc.p(480,320))
        local QRCodeNode =  createRenderNodeWithPathPos("icon/ui_icon_box2.png",120))
        local renderTexture = createRenderTextureWithLogoQRCode(logoRenderNode,QRCodeNode)
        local fileName = createFileWithRenderTexture(renderTexture)
        if fileName then
            print("ok")
        end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读