Android 如何在和引擎文本中使用可扩展字符串?
我正在使用和引擎开发一个游戏,现在已经使用HUD显示分数、剩余时间和级别。我的问题是我想使用两种不同颜色的文本,如级别1/10 所以10级应该是黑色的,1级应该是红色的,有没有办法做到这一点,我在下面用过Android 如何在和引擎文本中使用可扩展字符串?,android,andengine,Android,Andengine,我正在使用和引擎开发一个游戏,现在已经使用HUD显示分数、剩余时间和级别。我的问题是我想使用两种不同颜色的文本,如级别1/10 所以10级应该是黑色的,1级应该是红色的,有没有办法做到这一点,我在下面用过 vertexBufferObjectManager = this.getVertexBufferObjectManager(); back = new Sprite((CAMERA_WIDTH - mBannerTextureRegion.getWidth()) / 2,
vertexBufferObjectManager = this.getVertexBufferObjectManager();
back = new Sprite((CAMERA_WIDTH - mBannerTextureRegion.getWidth()) / 2,
0, this.mBannerTextureRegion, vertexBufferObjectManager);
topBannar = new HUD();
reset = new ButtonSprite(30, 5, this.mResetTextureRegion,
this.mResetPressedTextureRegion, this.mResetTextureRegion,
vertexBufferObjectManager, this);
topBannar.registerTouchArea(reset);
back.attachChild(reset);
levelText = new Text(210, 5, this.mFont, "Level " + stage + "/10",
new TextOptions(HorizontalAlign.CENTER),
vertexBufferObjectManager);
back.attachChild(levelText);
scoreText = new Text(375, 5, this.mFont, "Score : " + totalScore,
new TextOptions(HorizontalAlign.CENTER),
vertexBufferObjectManager);
back.attachChild(scoreText);
timerWatch = new Text(535, 5, this.mFont, "Time:", 100,
new TextOptions(HorizontalAlign.CENTER),
vertexBufferObjectManager);
timeHandler = new Timer(1f, StartActivity.this);
timerWatch.registerUpdateHandler(timeHandler);
back.attachChild(timerWatch);
topBannar.attachChild(back);
camera.setHUD(topBannar);
我不知道
和发动机,但是如果你的问题是关于spannable
,这里有一个小例子
Spannable spannableString = new SpannableString("some string");
//the following code will put the word "string" in bold with yellow background
spannableString.setSpan(new BackgroundColorSpan(Color.YELLOW),
6, spannableString.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
spannableString.setSpan(new StyleSpan(android.graphics.Typeface.BOLD),
6, spannableString.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
基本上,它创建一个spannable
字符串,然后使用setSpan()
设置一些自定义属性
我不确定这是否回答了你的问题,即我是否应该删除它,因为它是离题的嗨,伙计们,经过大量搜索,我只找到了这样做的方法“使用两个文本对象,一个在另一个之前,并为它们设置所需的颜色 谢谢,但我想在和Engine TextAFAIK上使用相同的东西,在AndEngine中实现这一点的唯一方法是使用两个单独的文本对象。谢谢,我可以使用两个不同的文本,但这不是一个好的解决方案。