在一个层上不停加精灵(16个左右),会出现渲染层级BUG
传不了图,我简单描述下:
创建一个层,先添加大图精灵、几个小图精灵 他们之间有些会相互遮挡
然后再建一个按钮,按钮点一下就在别的地方创建一个精灵 , 多点几下就会发现 ,之前的相互遮挡的精灵,他们的遮挡关系发生了变化,
原本在上面的会变到下面,总之是随机的。
后来我们老大跟源码发现,在安卓上,存放子节点的向量, 在每一帧渲染时排序会发生错乱。。。错乱原因不,不知大家是否遇到过?
版本:cocos2dx 3.1
安卓版本:我和我们老大的手机都试了,我的是米2 4.X版本
我的测试代码如下:
local layer = cc.Layer:create()
local sp1 = cc.Sprite:create("res/StroeUI/stroe_bg.jpg")
layer:addChild(sp1)
sp1:setPosition(300,400)
local sp = cc.Sprite:create("res/StroeUI/i3.jpg")
layer:addChild(sp)
sp:setPosition(300,400)
local sp2 = cc.Sprite:create("res/crop.png")
layer:addChild(sp2)
sp2:setPosition(300,350)
local sp3 = cc.Sprite:create("res/crop.png")
layer:addChild(sp3)
sp3:setPosition(300,360)
local sp4 = cc.Sprite:create("res/dog.png")
layer:addChild(sp4)
sp4:setPosition(300,340)
local sps = {}
table.insert(sp1,sps)
table.insert(sp2,sps)
table.insert(sp3,sps)
table.insert(sp4,sps)
local function onItem()
local sp8 = cc.Sprite:create("res/land.png")
layer:addChild(sp8)
sp8:setPosition(800,340)
table.insert(sp8,sps)
end
local lab = cc.Label:create("add", "" , 50)
local item = cc.MenuItemLabel:create(lab)
local menu = cc.Menu:create(item)
item:registerScriptTapHandler(onItem)
menu:setPosition(800,300)
layer:addChild(menu)
