lua -- 事件響應與局部變量


-- 這里要注意的點是:雖然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 > 1 then
                nAmount = nAmount - 1;
                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 + 1;
                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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM