更改文字大小和颜色

时间:2014-03-06 13:15:23

标签: android text fonts andengine

我想更改文字的颜色和大小。我想只使用一种字体。有可能吗?

这是我的代码:定义字体&文本

// 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);

但我没有取得成功。如此接近于一个。

enter image description here

2 个答案:

答案 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,您应该没问题。