游戏文本提示

export default class ToastManager{
  static lastTime:number = 0;//最后一个toast时间戳
  static defaultStyle = {
    fontSize:24,
    color:"#ffffff",
    stroke:4,
    strokeColor:"#6e37c5",
    align:"center",
    wordWrap:true,
    alpha:0,
  }

  static showToast(text:string,textStyle:any = null){
    let self = this;
    let now = (new Date()).getTime();
    let delay = Math.max(150 - (now - self.lastTime),0);
    if(!textStyle){
      textStyle = self.defaultStyle;
    }else{
      for(let key in self.defaultStyle){
        textStyle[key] = textStyle[key]||self.defaultStyle[key];
      }
    }
    let toast = new Toast(text,textStyle,delay);
    toast.pos((Laya.stage.width - toast.width)/2,Laya.stage.height/2);
    Laya.stage.addChild(toast);
    self.lastTime = now;
  }
}

 

 

import BText from "../display/BText";

export default class Toast extends Laya.Sprite{

  constructor(text:string,textStyle:any,delay:number = 0){
    super();
    const self = this;
    self.mouseEnabled = false;

    let toastText:BText = new BText(textStyle);
    toastText.width = Laya.stage.width-100;
    toastText.text = text;
    if(toastText.textWidth < toastText.width){
      toastText.width = toastText.textWidth;
    }
    toastText.height = toastText.textHeight;
    self.size(toastText.width,toastText.height);
    self.addChild(toastText);

    Laya.Tween.to(toastText,{y:-200},1000,Laya.Ease.linearNone,null,delay);
    Laya.Tween.to(toastText,{alpha:1},200,Laya.Ease.linearNone,Laya.Handler.create(self,function(){
      Laya.Tween.to(toastText,{alpha:0},200,Laya.Ease.linearNone,Laya.Handler.create(self,function(){
        self.destroy(true);
      }),600);
    }),delay);
  }
}

 */
export default class BText extends Laya.Text{

  constructor(style:any = null){
    super();
    let self = this;

    if(style){
      for(let prop in style){
        self[prop] = style[prop]
      }
    }
  }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值