AndEngine Text的使用心得

AndEngine Text的使用心得

最近在游戏里面需要使用Text,所以就顺便研究了下。

Text的创建:
可以参考AndEngineExamples工程中的TextExample类。

更改Text的字体的大小,发现没有诸如setSize这样的方法可以用,唯一能做的就是在FontFactory.create这个里面进行设置。具体可以参考源文件中的FontFactory类,包括字体的粗体,什么字体,以及字体颜色等。

更改字体的颜色:
这个有点让人人摸不着头脑,发现有setColor这样的方法,但是如果预设的字体颜色是黑色的话,文字的颜色无法更改。
this.mFont = FontFactory.create(this.getFontManager(), this.getTextureManager(), 256, 256, Typeface.create(Typeface.DEFAULT, Typeface.BOLD), 25, true, Color.BLACK);

最后在AngEngine Foruns中找到了答案,建议将初始字体的颜色设置为白色就可以的,后来验证确实是这样的。顺便说下不少关于使用方面的问题可以直接在这个讨论组里面搜索。

http://www.andengine.org/forums/

setColor的方法的使用一开始也有点搞不清楚,对于固定的颜色的话,可以这样使用。

myText.setColor(Color.RED);

但是有时候需要设置自定义的颜色,比如这样:

setColor(pRed, pGreen, pBlue);

这个如果没有看源文件的中的说明的话,会发现有问题,假设我的颜色是 (red: 153,green: 102,bule: 0),

setColor(153f,102f,0f);

但是你这样使用的话,你会发现得到的颜色不是自己定义的颜色,而且你如果搜索的话大部分的例子也都是那样写的。最后还是求助源文件,在Entity类中式这样描述的:

/** * @param pRed from <code>0.0f</code> to <code>1.0f</code> * @param pGreen from <code>0.0f</code> to <code>1.0f</code> * @param pBlue from <code>0.0f</code> to <code>1.0f</code> */ @Override public void setColor(final float pRed, final float pGreen, final float pBlue) { if(this.mColor.setChecking(pRed, pGreen, pBlue)) { // TODO Is this check worth it? this.onUpdateColor(); } }

所以上面的颜色应该这样表示:

setColor(153f/255f,102f/255f,0f);

使用setText()当字串的长度超过一定的值时会出现:

 java.lang.ArrayIndexOutOfBoundsException: length=30; index=30

解決方案:

public Text(final float pX, final float pY, final IFont pFont, final CharSequence pText, final int pCharactersMaximum, final VertexBufferObjectManager pVertexBufferObjectManager)

使用这个构造方法,进行初始化。

待续。

转载于:https://my.oschina.net/u/134408/blog/82905

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110306.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Generic Host Process for Win32 Services 解决之道[通俗易懂]

    Generic Host Process for Win32 Services 解决之道[通俗易懂]开机有时候会出现:GenericHostProcessforWin32Services遇到了一个问题,需要关闭。出现上面这个错误一般有三种情况。1.就是病毒。开机后会提示GenericHostProcessforWin32Services遇到问题需要关闭”“RemoteRrocedureCall(RPC)服务意外终止,然后就自动重起电脑。一般该病毒会在

    2022年10月12日
    1
  • 建议收藏!推荐2020 年必备的几个 DevOps 工具

    作者:徐九  来源:https://segmentfault.com/a/1190000022908614 提到 DevOps 这个词,我相信很多人一定不会陌生。作为一个…

    2021年6月22日
    179
  • U盘pe(理论大白菜、优启通、微PE都可以) 装ESXI方案 (非通用UltraISO重做启动U盘),省U盘「建议收藏」

    U盘pe(理论大白菜、优启通、微PE都可以) 装ESXI方案 (非通用UltraISO重做启动U盘),省U盘「建议收藏」此文是我发的一篇的准备工作,因为ESXi6.7刚发布的原因,很多同学等着升级,故而先写了出来。原文如下:戴尔R730安装升级VMwarevSphereHypervisor(ESXi)6.7https://koolshare.cn/thread-139061-1-1.html这一篇,介绍怎样从U盘加载ISO镜像,并引导电脑/服务器,完成新安装/升级系统的操作,当然,实际中不仅仅用于ESXi的安装升级,也可以用于NAS4Free、FreeNAS、ProxmoxVE虚拟机系统,爱快软路由系统、Pan

    2025年8月31日
    17
  • 前缀索引和覆盖索引

    前缀索引和覆盖索引前缀索引当索引的字符串列很大时,创建的索引也就变得很大,为了减小索引体积,提高索引的扫描速度,就用索引的前部分字串索引,这样索引占用的空间就会大大减少,并且索引的选择性也不会降低很多。而且是对BLOB和TEXT列进行索引,或者非常长的VARCHAR列,就必须使用前缀索引,因为MySQL不允许索引它们的全部长度。使用:列的前缀的长度选择很重要,又要节约索引空间,又要保证前缀索引的选择性要和…

    2022年5月24日
    45
  • ggplot2数据分析与图形艺术_plot画多条曲线

    ggplot2数据分析与图形艺术_plot画多条曲线接着我们之前复现过的一篇NC文章(复现《naturecommunications》散点小提琴图+蜜蜂图),有一张关于差异蛋白的火山图,但是不同的是他的阈值设定不是我们普通的横向纵向,而是曲线阈值!image.png本来我以为这是一个个例,本篇文章作者博眼球的做法,但是检索了一下发现我付肤浅了,有很多文章,但是有一个特点,双曲线阈值应用在蛋白组差异基因的筛选上,这样的方式类似与“软阈值”吧,能够找到更显著的蛋白,值得在自己的研究中使用。image.png(Reference:ProteomicsofMe

    2022年9月25日
    2
  • HADOOP生态圈以及各组成部分的简介

    HADOOP生态圈以及各组成部分的简介HADOOP生态圈以及各组成部分的简介1各组件简介重点组件:HDFS:分布式文件系统MAPREDUCE:分布式运算程序开发框架HIVE:基于大数据技术(文件系统+运算框架)的SQL数据仓库工具HBASE:基于HADOOP的分布式海量数据库ZOOKEEPER:分布式协调服务基础组件Mahout:基于mapreduce/spark/flink等分布式运算框架的机器学习算法库Oozie…

    2022年5月21日
    49

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号