-- 这里要注意的点是:虽然nAmount是局部变量,却在控件的响应函数中使用
-- 因为控件的响应函数是在该变量的区域内,所以可以用
-- 如果控件的响应函数在外部,那么该变量就要声明成为全局变量
function UIBagController:showUse( )
-- 赋值属性
local nAmount = self.item.pileCount;
local imageViewItem = tolua.cast(UIHelper:seekWidgetByName(self.panelUse, "ImageView_Item"), "ImageView");
local labelItemDsc = tolua.cast(UIHelper:seekWidgetByName(self.panelUse, "Label_ItemDsc"), "Label");
local lebGNum = tolua.cast(UIHelper:seekWidgetByName(self.panelUse, "lebGNum"), "Label");
local btnNumDes = tolua.cast(UIHelper:seekWidgetByName(self.panelUse, "btnNumDes"), "Button");
local btnGNumAdd = tolua.cast(UIHelper:seekWidgetByName(self.panelUse, "btnGNumAdd"), "Button");
local btnMax = tolua.cast(UIHelper:seekWidgetByName(self.panelUse, "btnMax"), "Button");
lebGNum:setText(nAmount .. "/99");
btnNumDes:addTouchEventListener(function ( uiwidget, eventType )
if eventType == TOUCH_EVENT_ENDED then
-- 数字减少
if nAmount > then
nAmount = nAmount - ;
lebGNum:setText(nAmount .. "/99");
end
end;
end);
btnGNumAdd:addTouchEventListener(function ( uiwidget, eventType )
if eventType == TOUCH_EVENT_ENDED then
-- 数字增加
if nAmount < self.item.pileCount then
nAmount = nAmount + ;
lebGNum:setText(nAmount .. "/99");
end
end;
end);
btnMax:addTouchEventListener(function ( uiwidget, eventType )
if eventType == TOUCH_EVENT_ENDED then
-- 数字直接到最大
lebGNum:setText(self.item.pileCount .. "/99");
end;
end);
imageViewItem:loadTexture(self.item:getIconPath());
labelItemDsc:setText(self.item:getDsc());
self:setLabelFont(labelItemDsc)
local labelItenNum = tolua.cast(UIHelper:seekWidgetByName(self.panelUse, "Label_ItenNum"), "Label");
self:showItemNum(self.item, labelItenNum) self.panelUse:setVisible(true)
self.panelUse:setEnabled(true);
self.panelUse:setTouchEnabled(true); self:hideDetail()
self:hideSell()
end

lua -- 事件响应与局部变量的更多相关文章

  1. 追踪app崩溃率、事件响应链、Run Loop、线程和进程、数据表的优化、动画库、Restful架构、SDWebImage的原理

    1.如何追踪app崩溃率,如何解决线上闪退 当 iOS设备上的App应用闪退时,操作系统会生成一个crash日志,保存在设备上.crash日志上有很多有用的信息,比如每个正在执行线程的完整堆栈 跟踪信 ...

  2. iOS事件响应链

    首先,当发生事件响应时,必须知道由谁来响应事件.在IOS中,由响应者链来对事件进行响应,所有事件响应的类都是UIResponder的子类,响应者链是一个由不同对象组成的层次结构,其中的每个对象将依次获 ...

  3. DuiLib事件分析(一)——鼠标事件响应

    最近在处理DuiLib中自定义列表行元素事件,因为处理方案得不到较好的效果,于是只好一层一层的去剥离DuiLib事件是怎么来的,看能否在某一层截取消息,自己重写. 我这里使用CListContaine ...

  4. mvc ajax dropdownlist onchang事件响应

    <script type="text/javascript"> $("#Cycle").on("change", functio ...

  5. Legolas工业自动化平台入门(三)交互事件响应动作

    在上一篇Legolas工业自动化平台入门(二)数据响应动作 一文中,我们介绍了"动作"相关内容,了解到"动作"分为多种,各种动作的添加方式相同,但是应用方式各自 ...

  6. JS代码的位置与事件响应代码块的封装问题

    JS代码的位置       我们可以将JavaScript代码放在html文件中任何位置,但是我们一般放在网页的head或者body部分.   放在<head>部分最常用的方式是在页面中h ...

  7. Android MotionEvent事件响应机制

    在android中,事件主要包括点击.长按.拖曳.滑动等操作,这些构成了Android的事件响应,总体来说,所有的事件都由如下三个部分作为基础构成: 按下(action_down),移动(action ...

  8. 浅谈JavaScript的事件响应

    原文出处: Christian Heilmann   译文出处:Chajn Science 每当猴子们问我JavaScript和DOM里啥东西最牛逼时,我都会一巴掌打回去:卧槽还用问么当然是事件响应了 ...

  9. touches,motion触摸事件响应

    //触摸事件响应需要重写方法 1 // 触摸时触发该方法(消息发送) - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent: ...

随机推荐

  1. nginx 代理静态资源报 403

    用tomcat跑了一个上传服务,文件上传到指定nginx的html目录,用nginx来代理静态资源,结果上传能够成功,访问却报403. 解决办法,将html的拥有者改成nobody: chown -R ...

  2. 长按listview弹出选项列表对话框

    Android中通过xml资源文件定义数组.来自微风的网络日志. 文章链接:http://leybreeze.com/blog/?p=1524 Android ListView两种长按弹出菜单方式 h ...

  3. 【laravel5.*】详解laravel中的依赖注入

    1.下面这个是自定义的类,钉钉扫码登录web 网页授权OAuth2.0,是一个典型的依赖注入参考示例:

  4. LFU缓存

    https://leetcode-cn.com/problems/lfu-cache/description/ 缓存的实现可以采取多种策略,不同策略优点的评估就是"命中率".好的策 ...

  5. wp实例开发精品文章源码推荐(8.20)

    热门源码推荐 WP7快递速查源码http://www.apkbus.com/android-115763-1-1.html WP7仿iphone气泡式短信界面 源码http://www.apkbus. ...

  6. libgdx游戏引擎教程

    第一讲:libgdx游戏引擎教程(一)性能优良的游戏引擎—libgdx http://www.apkbus.com/android-57355-1-1.html 第二讲: libgdx游戏引擎教程(二 ...

  7. C# 自定义控件,日期时间选择输入插件

    权声明:本文为博主原创文章,未经博主允许不得转载. // 为textBox1添加一个日期时间选择控件 DateTimeChoser.AddTo(textBox1); DateTimeChoser.De ...

  8. 【Spring】SpringMVC之详解AOP

    1,AOP简介 Aspect Oriented Programming  面向切面编程.AOP还是以OOP为基础,只不过将共同逻辑封装为组件,然后通过配置的方式将组件动态切入到原有组件中.这样做的有点 ...

  9. 【MySQL】MySQL之浅谈MySQL的存储引擎

    什么是MySql数据库 通常意义上,数据库也就是数据的集合,具体到计算机上数据库可以是存储器上一些文件的集合或者一些内存数据的集合.     我们通常说的MySql数据库,sql server数据库等 ...

  10. list、map、数组 转换

    list,set,map,数组间的相互转换1.list转setSet set = new HashSet(new ArrayList()); 2.set转listList list = new Arr ...