我想更改文字的颜色和大小。我想只使用一种字体。有可能吗?
这是我的代码:定义字体&文本
// for red color font
redFont = FontFactory.createFromAsset(activity.getFontManager(),
fontTexture, activity.getAssets(), "YIKES__.TTF", 30, true,
Color.parseColor("#EF522A"));
redFont.prepareLetters("Score:1234567890 Sec Cash / Level"
.toCharArray());
redFont.load();
// for white color font
ITexture whiteFontTexture = new BitmapTextureAtlas(
activity.getTextureManager(), 256, 256, TextureOptions.BILINEAR);
whiteFont = FontFactory.createFromAsset(activity.getFontManager(),
whiteFontTexture, activity.getAssets(), "YIKES__.TTF", 30, true,
Color.WHITE);
whiteFont.prepareLetters("Score:1234567890 Sec Cash / Level"
.toCharArray());
whiteFont.load();
然后初始化文本并更改大小,如:
gameOverText = new Text(0, 0,
ResourcesManager.getInstance().whiteFont,
"ABCDEFHIJKLMNOPQRSTUVWXYZ",
ResourcesManager.getInstance().vbom);
gameOverText.setPosition(45, 72);
// gameOverText.setSize(490, 115);
gameOverText.setText(gameOver);
并改变颜色,如:
// define the color
pColor = new org.andengine.util.color.Color(255, 102, 51);
gameOverText.setColor(pColor);
但我没有取得成功。如此接近于一个。
答案 0 :(得分:1)
这是老帖子,我希望你已经找到了答案,但对于那些仍然不知道怎么做的人你可以试试这个。改变字体大小非常简单。您可以使用andengine的setScale方法对其进行缩放。
gameOverText.setScale(0.1f); //Scales both X and Y
gameOverText.setScaleX(0.5f); //Scales X only
gameOverText.setScaleY(1.0f); //Scales Y only
您可以根据需要使用其他缩放方法。比例因子的范围也从0(最小)到1(最大)值。
最后,对于让我整天都弄明白的颜色。 Andengine字体有setColor方法用于设置颜色,但只有从 android.graphics.Color.rgb(255,223,0)类设置颜色对象时它才有效。如果使用其他颜色,它只是掩盖颜色并产生比你预期的奇怪的结果。
gameOverText.setColor(android.graphics.Color.rgb(255,0,0)); //For Red
希望将来帮助某人。
答案 1 :(得分:-2)
在setTextColor()
上使用setTextSize()
或TextView
,您应该没问题。