网站首页 think技术
一步一个坑,步步为营-白鹭引擎位图字体使用
发布时间:2017-02-19 04:51查看次数:8720
步骤如下:
1.先建立0-9 10个字体的PNG透明图片,资源百度去找
2.使用TextureMerger工具 选择bitmap font 制作字体,
过程:拖入0-9 图片资源设置好偏移边距,
点导出 %100导出 保存字体名称~
3.把得到的两个文件导入到res中.........
4.使用位图字体:
1.申请一个变量 public bitmapText:egret.BitmapText; 位图文本
2.RES.getResByUrl("resource/assets/myFountNumber.fnt", this.onLoadComplete, this,RES.ResourceItem.TYPE_FONT); //加载位图资源
3.资源加载完成后!初始化位图字体
private onLoadComplete(font:egret.BitmapFont):void {
this.bitmapText = new egret.BitmapText();
this.bitmapText.font = font;
this.addChild(this.bitmapText);
this.bitmapText.text = "123456";
}
至此!位图字体使用完毕!
这里要注意的是 如果你的伤害是number 是需要转换成 string 的 建议使用String 或者 number.tostring 完成!
最后源代码如此:class startGame extends eui.Component{
public myButton:eui.Button;
public bitmapText:egret.BitmapText;
public constructor() {
super();
this.skinName = "resource/GameSkins/start.exml" //载入皮肤
RES.getResByUrl("resource/assets/myFountNumber.fnt", this.onLoadComplete, this,RES.ResourceItem.TYPE_FONT); //加载位图字体
this.addEventListener(egret.TouchEvent.TOUCH_TAP,this.myGameTap,this);//增加点击事件监听
}
//事件触发--在界面上显示位图字体
private myGameTap(tap:egret.TouchEvent){
let x = tap.stageX;
let y = tap.stageY;
let all:number = x+y; //计算伤害
let myText:string = all.toString();//转换到文本类型
this.bitmapText.text = myText;
this.bitmapText.x = x;
this.bitmapText.y = y;
this.addChild(this.bitmapText); //显示到界面上
}
//位图异步完成初始化位图控件
private onLoadComplete(font:egret.BitmapFont):void {
this.bitmapText = new egret.BitmapText(); //实例化一个对象
this.bitmapText.font = font;
this.addChild(this.bitmapText);
}
}
关键字词:EGRET##