美文网首页
cocos2d-x lua 信息提示

cocos2d-x lua 信息提示

作者: 亮亮同学 | 来源:发表于2017-11-20 18:48 被阅读80次

    cocos2d-x技术群新群:117871561
    c++技术交流群:593010226

    --屏幕宽,高
    appdf.WIDTH                                 = 1334
    appdf.HEIGHT                                = 750
    --提示界面,ex:点击功能按钮 如果没有此功能 可以用此函数提示 此功能暂未开放。context为当前的layer类,message为当前设置的提示语,delaytime是延时时间,color是message的颜色
    function MyCache.showToast(context,message,delaytime,color)
        if (context == nil) or  (message == nil) or (delaytime<1) then
            return
        end
    
        local msgtype = type(message)
        if msgtype == "userdata" or msgtype == "table" then
            return
        end
    
        if message == "" then
            return
        end
        local showMessage = message 
        
        local bg = nil
        local lab = nil
            bg = ccui.ImageView:create("General/frame_1.png")
            bg:setOpacity(0)
            bg:move(appdf.WIDTH/2,appdf.HEIGHT/2)
            bg:addTo(context)
            bg:setName("toast_bg")
            bg:setScale9Enabled(true)
            bg:runAction(cc.Sequence:create(cc.FadeTo:create(0.5,255), 
                cc.DelayTime:create(delaytime), 
                cc.Spawn:create(cc.FadeTo:create(0.5,0),cc.CallFunc:create(function()
                    lab:runAction(cc.FadeTo:create(0.5,0))
                    end)), 
                cc.RemoveSelf:create(true)))
    
            lab = cc.Label:createWithTTF(showMessage, "fonts/round_body.ttf", 24, cc.size(930,0))
            lab:setName("toast_lab")
            
            lab:setTextColor(not color and cc.c4b(255,255,255,255) or color)
            lab:addTo(bg)
    
        if nil ~= lab and nil ~= bg then
            bg:setZOrder(2 ^ 15)
            lab:setString(showMessage)
            lab:setTextColor(not color and cc.c4b(255,255,255,255) or color)
            local labSize = lab:getContentSize()        
    
            if labSize.height < 30 then
                lab:setHorizontalAlignment(cc.TEXT_ALIGNMENT_CENTER)
                bg:setContentSize(cc.size(appdf.WIDTH, 64))
            else
                lab:setHorizontalAlignment(cc.TEXT_ALIGNMENT_LEFT)
                bg:setContentSize(cc.size(appdf.WIDTH, 64 + labSize.height))        
            end
            lab:move(appdf.WIDTH * 0.5, bg:getContentSize().height * 0.5)
        end
    end
    

    相关文章

      网友评论

          本文标题:cocos2d-x lua 信息提示

          本文链接:https://www.haomeiwen.com/subject/qaqbvxtx.html