lua -- 在面板中添加多个部件
function UIBagController:initItemView( )
-- 获取面板
self.panelCenter = tolua.cast(UIHelper:seekWidgetByName(self.owner, "Panel_Center"), "Layout");
-- 获取面板下的子节点,多级子节点也可以获取到
local imageViewGrid1 = tolua.cast(UIHelper:seekWidgetByName(self.panelCenter, "ImageView_Grid1"), "ImageView");
local x, y = imageViewGrid1:getPosition();
local h, w = imageViewGrid1:getSize().width, imageViewGrid1:getSize().height;
local gridX, gridY = x , y
-- 获取父节点,也就是相应的面板
self.parentLayout = imageViewGrid1:getParent();
self.defaultTexture = imageViewGrid1:getTexture()
imageViewGrid1:setVisible(true);
imageViewGrid1:setTouchEnabled(false);
local imageViewItemTmp = tolua.cast(UIHelper:seekWidgetByName(imageViewGrid1, "ImageView_Item"), "ImageView");
imageViewItemTmp:setVisible(false)
local oLine = print("\n\n========背包个数==========" .. ItemM:getAmount());
for i = , ItemM:getAmount() do
-- 字符串处理函数
local gridName = string.format("ImageView_Grid%d", i);
local imageViewGrid = tolua.cast(UIHelper:seekWidgetByName(self.panelCenter, gridName), "ImageView");
if imageViewGrid == nil then
local imageViewGridTmp = imageViewGrid1:clone();
table.insert(self.itemArr, imageViewGridTmp);
if (i-)%self.numPerLine == then
gridY = y - (i-)/self.numPerLine * self.gridYInterval
oLine = oLine +
end
gridX = x + (i-)%self.numPerLine * self.gridXInterval
imageViewGridTmp:setName(string.format("ImageView_Grid%d", i));
local labelItemNameTmp = tolua.cast(UIHelper:seekWidgetByName(imageViewGridTmp, "Label_ItemName"), "Label");
labelItemNameTmp:setText(" ");
self:setLabelFont(labelItemNameTmp)
local labelItenNum = tolua.cast(UIHelper:seekWidgetByName(imageViewGridTmp, "Label_ItenNum"), "Label");
labelItenNum:setText(" ");
self:setLabelFont(labelItenNum)
imageViewItemTmp = tolua.cast(UIHelper:seekWidgetByName(imageViewGridTmp, "ImageView_Item"), "ImageView");
imageViewItemTmp:setVisible(false);
imageViewGridTmp:setVisible(true);
-- 将克隆出来的节点添加进去
self.parentLayout:addChild(imageViewGridTmp);
imageViewGridTmp:setPosition(ccp(gridX, gridY));
imageViewGridTmp:setTouchEnabled(true);
else
table.insert(self.itemArr, imageViewGrid);
end
end
-- 获取按钮控件 后面的Button要看引擎中类是怎么定义的
local btnArrange = tolua.cast(UIHelper:seekWidgetByName(self.owner, "btnArrange"), "Button");
-- 给控件绑定事件,这里不一定只有按钮才可以,其他控件也可以
btnArrange:addTouchEventListener(function ( uiwidget, eventType )
-- 判断触摸类型
if eventType == TOUCH_EVENT_ENDED then
self:ClearGoods();
self:initItemView();
self:showData();
UISystemTips:SystemTips("bag_arrange");
end;
end);
end
lua -- 在面板中添加多个部件的更多相关文章
- SharePoint Framework 向web部件中添加外部库
博客地址:http://blog.csdn.net/FoxDave 在进行开发的时候,你很可能会想要引用一些公开的JavaScript库到你的项目中,本文将会介绍如何打包和共享这些库. 打包脚本 默认 ...
- Step by step 活动目录中添加一个子域
原创地址:http://www.cnblogs.com/jfzhu/p/4006545.html 转载请注明出处 前面介绍过如何创建一个域,下面再介绍一下如何在该父域中添加一个子域. 活动目录中的森林 ...
- java中向JTextArea中添加滚动条(垂直的和水平的)
这次在研究java的swing类时,在做一个实例时,发现了JTextArea中添加滚动条的问题,经过网上查找资料和自己测试发现有以下用法: 1.首先应该把JTextArea添加到一个JScrollPa ...
- Quartus中添加时序约束
1.sdc文件也是要添加到Quartus 软件中,这样在执行Read SDC File命令时才能读到相应的文件. 2.在TimeQuest打开的条件下,重新编译工程之后要Update Timing N ...
- [译]如何在Unity编辑器中添加你自己的工具
在这篇教程中你会学习如何扩展你的Unity3D编辑器,以便在你的项目中更好的使用它.你将会学习如何绘制你自己的gizmo,用代码来实现创建和删除物体,创建编辑器窗口,使用组件,并且允许用户撤销他们所作 ...
- 4. 在Inspector面板中显示类中变量+ 拓展编辑器
1. C#脚本如下: using UnityEngine; using System.Collections; public class MyTest : MonoBehaviour { ; ; [S ...
- (原)torch7中添加新的层
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/6069627.html 参考网址: http://torch.ch/docs/developer-doc ...
- OSG项目经验2<在场景中添加文字面版>
添加文字版需要用到osg的三个名字空间: osgText::Text,这个类用来添加文字和设置文字的一些属性: ...
- 在MFC对话框中添加状态栏
如果我们想实现在MFC对话框中添加状态栏显示,如何例如分状态栏为两列,第一列显示鼠标的当前位置,第二列显示当前的时间,(如上图). 1. 首先,打开在资源视图的String Table并添加两个ID: ...
随机推荐
- C#让控制台程序不显示闪退窗口的方法
新建一个控制台程序,然后编译为 窗体程序.即可........
- windows下卸载mysql5.5,升级为mysql5.7.25
0. 停止mysql的服务 1. 卸载mysql5.5 1.1 使用360或者控制面板卸载mysql,为求干净,我使用的360,结果也需要手动清理 1.2 卸载完成之后到mysql的安装目录删掉该目录 ...
- spring事务管理——编程式事务、声明式事务
本教程将深入讲解 Spring 简单而强大的事务管理功能,包括编程式事务和声明式事务.通过对本教程的学习,您将能够理解 Spring 事务管理的本质,并灵活运用之. 先决条件 本教程假定您已经掌握了 ...
- aligned_storage简单学习
#include <iostream> #include <type_traits> #include <string> /* template< std:: ...
- 简单的Java串口通讯应答示例
java串口通讯第一次使用,找的资料都比较麻烦,一时没有理出头绪,自己在示例的基础上整理了一个简单的应答示例,比较简陋,但演示了java串口通讯的基本过程. package com.garfield. ...
- java struts2入门学习--OGNL语言常用符号和常用标签学习
一.OGNL常用符号(接上一篇文章): 1.#号 1)<s:property value="#request.username"/> 作用于struts2的域对象,而不 ...
- Lua初学
Lua很火啊,而且跟C,c++可以无缝结合,表示很给力,算是我的第三门语言吧,哈哈! 在官网上下载了源码了,和windows版的,表示编译器也很给力,直接可以用SciTE就可以写代码了. a = 1; ...
- C语言连接MySQL数据库(转)
c++连接MySQL有两种方式,1是原始的方法,2是用 Connector c++ .Connector c++ 只是一种封装,使之更加方便. 1.原始方法 这里归纳了C API可使用的函数,并在下 ...
- k8s官方安装版本
一.概述 官方安装链接:https://kubernetes.io/docs/getting-started-guides/kubeadm/ 之前使用是yum直接安装组件,现由kubeadm来自动安装 ...
- numpy 基于现有数据创建ndarray(from existing data)
1 numpy.array array(object[, dtype=None, copy=True, order='K', subok=False, ndmin=0]) 2 numpy.asarra ...