• Quick 3.3 final 加载ccs的变化


    1,用self._topUIWidget = ccs.GUIReader:getInstance():widgetFromJsonFile("mapTopUI.json")就还是用的以前c++的那套,时间机制和现有的quick不兼容。

    所以得用

    local node = cc.uiloader:load("testPanel.json")
    self:addChild(node,0)

    button的监听addTouchEventListener已经不能使用了

    换为了

    local button = cc.uiloader:seekNodeByName(self,"Button")
       button:onButtonClicked(function(event)
       print("click")
    end)

    吞噬事件来实现面板弹出遮挡住下面的不响应事件只能在新的quick时间机制下用。

    如果用旧的ccs那套东西,只能让root设置为可响应

    注意ccs和quick3.3 final不兼容,尽量只用一种。

    按钮一张图片下点击不变大了。

    local ShopPanel = require("src.app.scenes.ShopPanel")
    local MainScene = class("MainScene", function()
        return display.newScene("MainScene")
    end)
    
    function MainScene:ctor()
    
    --    self._topUIWidget = ccs.GUIReader:getInstance():widgetFromJsonFile("testPanel.json");
    --    self:addChild(self._topUIWidget,0)
    
    
        local node = cc.uiloader:load("testPanel.json")
        self:addChild(node,0)
        
    --    local function touchEvent(sender,eventType)
    --        if eventType == ccui.TouchEventType.ended then
    --            print("clicked");
    --        end
    --    end
        
        local button = cc.uiloader:seekNodeByName(self,"Button")
        button:onButtonClicked(function(event)
            print("click")
        end)
        
        local label = cc.uiloader:seekNodeByName(self,"fntLabel")
        label:setString(60);
        
        local AtlasLabel = cc.uiloader:seekNodeByName(self,"AtlasLabel")
        AtlasLabel:setString(60);
        
        local listView = cc.uiloader:seekNodeByName(self,"ListView")
        
    --    addTouchEventListener已经不能使用了
    --    local function touchEvent(sender,eventType)
    --        if eventType == ccui.TouchEventType.ended then
    --            print("click");
    --        end
    --    end
    --    local button = cc.uiloader:seekNodeByName(self,"Button_2")
    --    button:addTouchEventListener(touchEvent)
            
        local p = ShopPanel.new()
        self:addChild(p,20)
    end
    
    function MainScene:addHomebtnquick()
        self._homeBtn = cc.ui.UIPushButton.new({normal="ItemSelect.png"})
            :onButtonClicked(function()
                print("homebtn click")
            end)
            :addTo(self)
            :pos(display.cx,display.cy)
    end
    
    function MainScene:onEnter()
    end
    
    function MainScene:onExit()
    end
    
    return MainScene

    panel:代码

    local ShopPanel = class("ShopPanel",function()
        return display.newColorLayer(cc.c4b(255,255,255,128))
    end)
    
    function ShopPanel:ctor()
        --    self:initUI()
        self:addTouch()
    end
    
    function ShopPanel:addTouch()
        self:setTouchEnabled(true)
        self:setTouchSwallowEnabled(true)
        --[[因为暂停层的图片是覆盖在游戏层上面的,
        如果我们不把游戏层的触摸事件拦截的话,会触发游戏层的触摸事件。
        addTouch就是为了在暂停层拦截掉所有的触摸事件。widget的root要设置成可交互]]
        self:addNodeEventListener(cc.NODE_TOUCH_EVENT,function(event) 
            dump(event)
        end)
    end
    
    function ShopPanel:initUI()
        
        self.lv = cc.ui.UIListView.new {
            -- bgColor = cc.c4b(200, 200, 200, 120),
            viewRect = cc.rect(0, 0, 420, 380),
            direction = cc.ui.UIScrollView.DIRECTION_VERTICAL}
    --        :onTouch(handler(self, self.touchListener))
            :addTo(self)
    
        -- add items
        for i=1,8 do
            local item = self.lv:newItem()
            local content = cc.ui.UILabel.new(
                {text = "点击删除它DE"..i,
                    size = 20,
                    align = cc.ui.TEXT_ALIGN_CENTER,
                    color = display.COLOR_WHITE})
                    
            item:addContent(content)
            item:setItemSize(400, 80)
    
            self.lv:addItem(item)
        end
        self.lv:reload()
        
    end
    
    return ShopPanel
  • 相关阅读:
    LayoutParams继承于Android.View.ViewGroup.LayoutParams.
    Android框架之网络开发框架Volley
    【Android UI设计与开发】8.顶部标题栏(一)ActionBar 奥义·详解
    Android持久化保存cookie
    android 给url添加cookie
    webview同步cookies
    Android 编程下获得应用程序的签名
    Android UI 优化 使用<include/>和 <merge />标签
    ComponentName
    Android网络类型判断(2g、3g、wifi)
  • 原文地址:https://www.cnblogs.com/as3lib/p/4197010.html
Copyright © 2020-2023  润新知