LuaQuick框架(客户端)

996传奇引擎三端lua快速开发


常用方法

<p>[TOC]</p> <h3>控制台打印</h3> <p><code>luaprint(any)</code></p> <h3>前端打印</h3> <p><code>luadump(t)</code></p> <pre><code>local data = {name=&amp;quot;小明&amp;quot;,age=18} luadump(data) 前端控制台↓↓↓     data = {         name = &amp;quot;小明&amp;quot;,         age = 18     }</code></pre> <h1>UI相关常用(全部请查看UI模块)</h1> <ul> <li>使用方式 <code>co.组件名:函数(形参)</code></li> </ul> <h3>通过名称获取控件对象(通用)</h3> <p><code>getChildByName(parent,&amp;quot;name&amp;quot;)</code></p> <pre><code>local testImg = co.ImageView:getChildByName(cls.ccui.xmlPanel,&amp;quot;testImg&amp;quot;)</code></pre> <h3>设置可见性(通用)</h3> <p><code>setVisible(widget,bool)</code></p> <pre><code>co.ImageView:setVisibale(testImg,false)</code></pre> <h3>添加点击事件(通用)</h3> <p><code>addClickEventListener(widget,callback,time)</code></p> <pre><code class="language-lua">-- widget 组件对象,callback 回调函数,time 点击间隔时间,可省略 co.Button:addClickEventListener(widget,function(sender)    -- 按钮点击后的逻辑 end</code></pre> <h3>获取控件标签(通用)</h3> <p><code>getTag(widget)</code></p> <pre><code>-- 常用于动态容器获取当前subItem是第几个子项目 co.ScrollView:reloadListView(scroll,len,function(subItem)     local tag = co.ImageView:getTag(subItem)     local o = cls.data[tag]     -- 业务逻辑     end</code></pre> <h3>设置控件触摸事件,h5走添加点击事件</h3> <p><code>onClickEventListener(widget,callback,time)</code></p> <pre><code>    -- widget 组件对象,callback 回调函数,time 点击间隔时间,可省略     co.Button:onClickEventListener(widget,function(sender)         -- 业务逻辑,如向后端发送请求     end)</code></pre> <h3>设置图片外观</h3> <p><code>loadTexture</code></p> <pre><code>-- ImageView、LoadingBar、ProgressTimer 可用 -- 示例如flag为true 设置a.png ,false设置b.png     if flag then         co.ImageView:loadTexture(widget,string.format(&amp;quot;res/custom/%s/a.png&amp;quot;,cls.name))     else         co.ImageView:loadTexture(widget,string.format(&amp;quot;res/custom/%s/b.png&amp;quot;,cls.name))     end</code></pre> <h3>重新加载列表数据,并根据子项目数量调整列表大小</h3> <p><code>reloadData(widget,len,callback(subItem))</code></p> <pre><code>    -- 示例,给 listView 创建子项目,并设置按钮名称和点击事件     local listView = co.Widget:getChildByName(cls.ccui.xmlPanel,&amp;quot;ListView&amp;quot;)     co.ListView:reloadData(listView,#cls.data,function(subItem)         local tag = co.Button:getTag(subItem)         local obj = cls.data[tag]         co.Button:setString(subItem,obj.pageName)         co.Button:addClickEventListener(subItem,function(sender)             PanelComp.onClickButtonSelectMainPage(co.Button:getTag(sender))         end)     end)</code></pre> <h3>以列表形式重新加载项目</h3> <p><code>reloadListView(widget,len,callback(subItem))</code></p> <pre><code>        --示例,根据 cls.data 创建物品框         local scroll = co.Widget:getChildByName(cls.ccui.xmlPanel,&amp;quot;ScrollView&amp;quot;)         co.ScrollView:setItemsMargin(scroll,-1)         co.ScrollView:reloadListView(scroll,#cls.data,function(subItem)             local tag = co.ImageView:getTag(subItem)             local data = cls.data[tag]             local iconCell = co.ImageView:getChildByName(subItem,&amp;quot;icon_cell&amp;quot;)             co.ItemShow:create(iconCell,{                 id   = data.giveItem[1][1],                 look = true,             })         end)</code></pre> <h3>设置红点可视状态</h3> <p><code>setRedPointVisible(widget,bool)</code></p> <pre><code>co.Button:setRedPointVisible(widget,true)</code></pre> <h3>更新物品框内容</h3> <p><code>update(widget,p)</code></p> <pre><code>    -- 通过id来更新     co.ItemShow:update(widget, {         index = 物品id,         look = true     })     -- 通过名称来更新     o.ItemShow:update(widget, {         itemName = 物品名称,         look = true     })</code></pre> <h3>更新容器所有子项目</h3> <p><code>updateItems(widget)</code></p> <pre><code>Layout、ListView、PageView、ScrollView、TableView -- 更新ScrollView子项目 co.ScrollView:updateItems(co.Layout:getChildByName(item,&amp;quot;scroll_view&amp;quot;))</code></pre> <h3>通过tag更新子项目</h3> <p><code>updateItemByTag(widget,tag)</code></p> <pre><code>Layout、ListView、ScrollView、PageView、TableView -- 只刷新第3个子项目 co.ScrollView:updateItems(co.Layout:getChildByName(item,&amp;quot;scroll_view&amp;quot;),3)</code></pre> <h3>通过name更新子项目</h3> <p><code>updateItemByName(widget,name)</code></p> <pre><code>Layout、ListView、ScrollView、PageView、TableView -- 更新名称叫item_4的子项目 co.ScrollView:updateItemByName(scroll,&amp;quot;item_4&amp;quot;)</code></pre> <h3>创建消耗容器</h3> <p><code>createConsumeView((layout,t,style))</code></p> <pre><code>-- 示例 cls.ccui.ShowView 为基础容器,data为数据来源,style为风格样式1,2,3,4 co.Layout:createConsumeView(cls.ccui.ShowView,{data = cls.data[1].need, style = 1})</code></pre> <h3>创建属性视图(Layout)</h3> <p><code>createAttrView(layout,t)</code></p> <pre><code>-- 示例 co.Layout:createAttrView(cls.ccui.AttrView,{data = t,c3b1 = &amp;#039;#FFFF00&amp;#039;, c3b2 = &amp;#039;#FFFF00&amp;#039;, extra = full})</code></pre>

页面列表

ITEM_HTML