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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • redis 密码_商用密码知识

    redis 密码_商用密码知识Redis可以设置密码,设置密码后如果不用密码登录,执行命令时会提示错误:下面列举一下Redis密码相关知识。1,在配置文件中设置密码在Redis的配置文件中,可以用requirepass参数配置密码,比如这样:requirepassthisispassword那么密码就是thisispassword。配置文件中设置的密码在启动Redis时就会生效。…

    2025年9月17日
    6
  • power by dedecms什么意思,power by dedecms怎么去掉

    power by dedecms什么意思,power by dedecms怎么去掉powerbydedecms什么意思,powerbydedecms怎么去掉powerbydedecms什么意思,powerbydedecms怎么去掉一、powerbydedecms什么意思网上冲浪的时候,会看到很多带powerbydedecms的网站,powerbydedecms表示该网站基于DedeCMS系统搭建,DedeCMS是开源免费

    2022年7月13日
    16
  • python dataframe fillna_python缺失值处理 fillna

    python dataframe fillna_python缺失值处理 fillna约定:importpandasaspdimportnumpyasnpfromnumpyimportnanasNaN填充缺失数据fillna()是最主要的处理方式了。df1=pd.DataFrame([[1,2,3],[NaN,NaN,2],[NaN,NaN,NaN],[8,8,NaN]])df1代码结果:01201.02.03.01NaNNaN2.02NaNNaNNaN38….

    2022年8月12日
    7
  • winhex 数据恢复_win10文件恢复软件

    winhex 数据恢复_win10文件恢复软件数据恢复分类:硬恢复和软恢复。所谓硬恢复就是硬盘出现物理性损伤,比如有盘体坏道、电路板芯片烧毁、盘体异响,等故障,由此所导致的普通用户不容易取出里面数据,那么我们将它修好,同时又保留里面的数据或后来恢

    2022年8月5日
    7
  • maven学习系列——(六)maven搭建私服

    这一篇学习和整理私服的搭建 私服的使用在公司还是比较多的 ,会整理在window上搭建私服和linux上搭建私服!

    2022年2月25日
    39
  • 去除a标签的下划线

    去除a标签的下划线很久没写忘记的差不多了,写下这个方便以后查看,好了话不多说,消除A标签的这么实现呢使用”text-decoration:none;”属性即可:1,一开始是这个样的,是不是有下划线2,下面是我添加了样式的<astyle=”text-decoration:none;”>我们没有下划线</a>结果如下,这样就没有下划线了…

    2022年6月2日
    43

发表回复

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

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