Laya的位图文字,高亮文字,图文混排

Posted gamedaybyday

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laya的位图文字,高亮文字,图文混排相关的知识,希望对你有一定的参考价值。

测试版本:Laya 2.1.1.1

 

位图文字

技术图片

白鹭的位图文字是由TextureMerger制作,然后在exml里使用。

Laya的则直接使用FontClip组件。

在编辑模式,层级窗口中右键,选择创建组件UI,选择FontClip

技术图片

 

将美术提供的位图文字赋值给FontClip的属性面板的skin属性,这样就是个位图文字了。比白鹭要方便些。

技术图片

 

 

 

高亮文字 

技术图片

白鹭的高亮文字有文本样式

tx.textFlow = <Array<egret.ITextElement>>[
    text: "花费", style: "textColor": 0x0000
    , text: "100", style: "textColor": 0xf1e81b
    , text: " 金币", style: "textColor": 0x0000
    
];

laya中则没有,搜了下需要使用htmlDivElement。

var p = new HTMLDivElement();

使用后报错

技术图片

 

 

 在编辑模式F9,增加html库

技术图片

 

 

 

重试仍然报错。。。

 

重新下载最新的引擎laya2.20beta4,仍然报错

然后根据https://ask.layabox.com/question/43974复制论坛的laya.html.js文件,仍然报错

 

无解了。最后不用代码创建,而是直接在场景中创建一个HTMLDivElement就不报错了。

 

最终实现代码和效果

public p:laya.html.dom.HTMLDivElement;

 

this.p.innerHTML = "<span style=‘color:#ffffff‘>花费</span><span style=‘color:#f1e81b‘>100</span><span style=‘color:#ffffff‘>金币</span>";

 

技术图片

 

 

 

图文混排

白鹭没有提供教程

 

laya有个教程:https://ldc.layabox.com/doc/?nav=zh-as-6-1-0

技术图片

 

 技术图片

 

 

大致的原理

1. 在输入框输入 "大家好!很高兴认识大家!@1@", "@1@"为一个表情的代号。

2. 获取输入框的字符串,全局搜索"@1@",将该表情代号换成表情图片<img>的标签。

3. 将字符串赋值给HTMLDivElement组件的innerHTML显示。

技术图片

 

 

 

报错。因为demo是1.x版本的。这个2.0版本可能这方法有什么问题。论坛搜索解决方案未果,啊,真麻烦。

技术图片

 

以上是关于Laya的位图文字,高亮文字,图文混排的主要内容,如果未能解决你的问题,请参考以下文章

图文混排——用表情代替 “[文字]”显示

ios开发,关于图文混排

ios开发,关于图文混排

把图片添加到文字中实现图文混排

UGUI-图文混排方案

iOS图文混排的几种方式