• 过渡页面,加载进度


    
    
    local BaseLayer = class("BaseLayer", function()
        return display.newLayer()
    end)
    
    function BaseLayer:ctor(...)
        self:setNodeEventEnabled(true)
        self:setTouchSwallowEnabled(false)
    end
    
    function BaseLayer:onEnter()
    
    end
    
    function BaseLayer:onExit()
        
    end
    
    function BaseLayer:onEnterBackground()
    
    end
    
    function BaseLayer:onEnterForeground()
        
    end
    
    return BaseLayer
    继承的BaseUI
    
    
    
    local LoadingView = class("LoadingView",BaseUI)
    
    --需要加载的plist文件
    local PLIST_FILE = {
        "unit/base/unit23_dead" ,
        "unit/blue/blue_unit23_dead" ,
        "unit/green/green_unit23_dead" ,
        "unit/yellow/yellow_unit23_dead" ,
    
        "ani/unit1/unit1" ,
        "ani/unit_17/unit17" ,
        "ani/unit_17/unit_17_flash" ,
    
        "ani/attack/ATK_1" ,
        "ani/attack/ATK_2" ,
        "ani/attack/SPECIAL_1" ,
    
        "unit/base/unit1", 
        "unit/base/unit2",
        "unit/base/unit3",
        "unit/base/unit4",
        "unit/base/unit5",
        "unit/base/unit6",
        "unit/base/unit7",
        "unit/base/unit8",
        "unit/base/unit9",
        "unit/base/unit10",
        "unit/base/unit11",
        "unit/base/unit12",
        "unit/base/unit13",
        "unit/base/unit14",
        "unit/base/unit15",
        "unit/base/unit16",
        "unit/base/unit17",
        "unit/base/unit18",
        "unit/base/unit19",
        "unit/base/unit20",
        "unit/base/unit21",
        "unit/base/unit22",
        "unit/base/unit23",
        }
    
    function LoadingView:ctor()
        -- LoadingView.super.ctor(self, 0, false,true)
        
        local bg = display.newSprite("UI/login_bg.png")
        bg:setAnchorPoint(cc.p(0, 0))
        self:addChild(bg)
    
        self.loadResNum = 0
        local loadingBg = cc.Sprite:createWithSpriteFrameName("loadgame_bg.png")
        loadingBg:setPosition(cc.p(display.cx, display.height / 10))
        self:addChild(loadingBg)
    
        local loading = cc.Sprite:createWithSpriteFrameName("loadgame_inner.png")--display.newSprite(loadStr)
    
        self.loadingBar = display.newProgressTimer(loading, cc.PROGRESS_TIMER_TYPE_BAR):addTo(self)
        self.loadingBar:setMidpoint(cc.p(0, 0))
        self.loadingBar:setBarChangeRate(cc.p(1, 0))
        self.loadingBar:setPercentage(0)
        self.loadingBar:setPosition(cc.p(0, 0))
        self.loadingBar:setPosition(cc.p(display.cx, display.height / 10))
        self:updateLoadRes()
    end
    
    function LoadingView:updateLoadRes()
    
        local updateTimes = 0
        local nowLoadNums = 0
        local function updateLoad(dt)
            updateTimes = updateTimes + 1
            if updateTimes > 20 and updateTimes % 3 == 0 then
                nowLoadNums = nowLoadNums + 1
                display.addSpriteFrames(PLIST_FILE[nowLoadNums]..".plist", PLIST_FILE[nowLoadNums]..".png", handler(self,self.loadResCallBack))
            end
    
            if #PLIST_FILE <= nowLoadNums then
                cc.vv.dump(" -- > stop update load res ... ")
                self:closeSchedule()
                --关闭加载层
                cc.vv.layerMgr:removeLayer("LoadingView")
            end
            
        end
    
        self.scheduleListener = cc.Director:getInstance():getScheduler():scheduleScriptFunc(updateLoad , 0 , false)
    end
    
    function LoadingView:closeSchedule()
        print("关闭调度器-1")
        if self.scheduleListener ~= nil then
            print("关闭调度器-2")
            cc.Director:getInstance():getScheduler():unscheduleScriptEntry(self.scheduleListener)
            self.scheduleListener = nil
        end
    end
    
    function LoadingView:loadResCallBack(texture2d)
        self.loadResNum = self.loadResNum + 1
        cc.vv.dump(self.loadResNum,"loadResNum")
        local nowPercent = math.min( 100,100*(self.loadResNum/#PLIST_FILE))
        self.loadingBar:setPercentage(nowPercent)
        dump(nowPercent, "nowPercent", 10)
        if nowPercent >= 100 then
            --资源加载完成
            cc.vv.dump("资源加载完成----")
        end
    end
    
    return LoadingView
  • 相关阅读:
    Heapsort 堆排序算法详解(Java实现)
    GIve Me A Welcome Hug!
    linux系统救援模式拯救mv libc.so.6文件后无法使用命令的悲剧
    RabbitMQ集群部署
    使用Xshell通过堡垒机登录服务器
    dubbo + zookeeper环境部署
    zookeeper集群部署
    zabbix-3.0.1 添加微信报警
    zabbix-3.0.1结合grafana绘图
    Centos7.2安装zabbix3.0.1简要
  • 原文地址:https://www.cnblogs.com/zhangthree/p/12455060.html
Copyright © 2020-2023  润新知