cocos2dx lua图片获取像素数据

    做个简单测试下不规则图片的碰撞,但遇到了些问题,这里只mark下。

    直接上代码:

    self.spriteContact = cc.Sprite:createWithSpriteFrameName("test.png")

    local bgNode = self.csbNode:getChildByName("bgNode")
    bgNode:addChild(self.spriteContact, 9)

    self.spriteContact:setPosition(200, 500)


    local width2 = self.spriteContact:getContentSize().width
    local height2 = self.spriteContact:getContentSize().height
    local originX2 = self.spriteContact:getPositionX()-width2/2
    local originY2 = self.spriteContact:getPositionY()-height2/2


    local totalI = math.floor(originX2)+15--math.floor(width2)
    local totoalJ = math.floor(originY2)+15--math.floor(height2)
    for i=math.floor(originX2), totalI do
        for j=math.floor(originY2), totoalJ do
            local data1 = 4
            local renderTexture1 = cc.RenderTexture:create(1, 1, cc.TEXTURE2_D_PIXEL_FORMAT_RGB_A8888)
            renderTexture1:beginWithClear(0, 0, 0, 0)
            -- self.spriteContact:draw()
            -- self.spriteContact:visit()
            renderTexture1:endToLua()
            local vt = gl.readPixels(i, j, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, data1)
            dump(vt)
            -- print("data : ", json.encode(vt))
        end
    end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值