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
网友评论