zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    Spring Cloud中关于Feign的常见问题总结
    Qt 格式转换问题 记录(好多方法)
    Qt事件机制(是动作发生后,一种通知对象的消息,是被动与主动的总和。先处理自己队列中的消息,然后再处理系统消息队列中的消息)
    Delphi 禁用x64位系统文件重定向功能
    QList介绍(QList比QVector更快,这是由它们在内存中的存储方式决定的。QStringList是在QList的基础上针对字符串提供额外的函数。at()操作比操作符[]更快,因为它不需要深度复制)非常实用
    Qt 的几个核心机制总结之 布局(QWidget可以设置setSizePolicy,而QSizePolicy有Fixed,minimum,maximum,preferred,expanding,ignore等7个属性,还可以横竖分开)
    Dapper
    Yii2.0
    软件清单
    NET CORE 基础
  • 原文地址:https://www.cnblogs.com/as3lib/p/4197010.html
Copyright © 2011-2022 走看看