是用cocos studio做的 列表容器,用quick解析的,加载背包,很慢。大家怎么解决的呢
用listview 不可避免就会出现这个问题,我们的解决办法是 帧加载,也就是一帧加载一条,这样配合item渐入动画,感觉还行,可以试试。
最好的建议还是用 tableview
帧加载怎么做呢, 可以给个代码片段吗,谢谢。
用cocosstudio做的,解析到quick的lua是 listview,我查看了下文档,没有tableview,不知道哥们是怎么用的tableview?
--每一帧加载回调
function loadBy1FPS(amount, view, callback)
local index = 0
local function update()
if index < amount then
callback(index)
else
view:unscheduleUpdate()
end
index = index + 1
end
view:scheduleUpdateWithPriorityLua(update, 0)
end
```
function Test:initListView()
if table.getn(self.listView:getItems()) == 0 then
local function callback(index)
self:initListItem(index)
end
LoadUtils.loadBy1FPS(#DataManager.testData, self, callback)
end
end
```
function Test:initListItem(index)
self.listView:pushBackDefaultItem()
self:setListItem(index)
local item = self.listView:getItem(index)
AnimUtils.runListItemFadeInAnim(item, index, 5)
end
function Test:setListItem( index)
local item = self.listView:getItem(index)
local data = DataManager.testData
item:setVisible(true)
local xxx= item:getChildByName("xxx")
......
........
end
--记得在remove这个界面的时候 self:unscheduleUpdate()
```
大概这样实现吧,你参考下。
非常感谢,你是用哪个方法解析的cocos UI呢?
ccs.GUIReader:getInstance():widgetFromBinaryFile
那你cocos 版本和 cocos2d-x版本是哪个呢
cocos2d-x 3.2 和 ccs 1.6