android - Andengine - 在 Sprites 上/在 Sprites 上绘制文本

标签 android text sprite andengine

在我深入研究一些严肃的底层调试之前,我只是想知道在 Sprite 上绘制文本的概念是否有任何问题。 通过浏览 API 示例,我注意到没有任何地方这样做。所有文本 Sprite 都预渲染成 png 我几乎可以看到一些东西正在尝试绘制,但只出现白色 Blob 或线条 任何意见,将不胜感激 干杯

public class Tile extends Sprite {
    private static BitmapTextureAtlas mBitmapTextureAtlas;
    private static TextureRegion mBoxTextureRegion;
    private static BitmapTextureAtlas mFontTexture;
    private static Font mFont;
    String letter;
    private Text mText;
    public int score;

    public Tile(String letter, int score, float x, float y, float width, float height) {
        super(x, y, width, height, mBoxTextureRegion);
        this.letter = letter;
        this.score = score;
    }

    public static void loadResources(Context context, Engine mEngine) {
        Tile.mFontTexture = new BitmapTextureAtlas(512, 512, TextureOptions.BILINEAR_PREMULTIPLYALPHA);
        Tile.mFont = FontFactory.createFromAsset(Tile.mFontTexture, context, "Arial Rounded MT.ttf", 64, true, Color.WHITE);

        mEngine.getTextureManager().loadTexture(Tile.mFontTexture);
        mEngine.getFontManager().loadFont(Tile.mFont);

        Tile.mBitmapTextureAtlas = new BitmapTextureAtlas(128, 128, TextureOptions.BILINEAR_PREMULTIPLYALPHA);

        Tile.mBoxTextureRegion = BitmapTextureAtlasTextureRegionFactory.createFromAsset(Tile.mBitmapTextureAtlas, context, "rect3761.png", 0, 0);

        mEngine.getTextureManager().loadTexture(Tile.mBitmapTextureAtlas);

    }

    public void draw(GraphicScene scene) {
        if (letter != null) {
            this.mText = new Text(50, 50, Tile.mFont, letter, HorizontalAlign.CENTER);
            // this.mText.setBlendFunction(GL10.GL_SRC_ALPHA,
            // GL10.GL_ONE_MINUS_SRC_ALPHA);
            // this.mText.setAlpha(0.5f);
            this.attachChild(this.mText);
            scene.attachChild(this);
        }
    }
}

最佳答案

我确实遇到了一个“SpriteButton”的用户帖子,它看起来就像你(和我)想要做的那样,在: http://www.andengine.org/forums/tutorials/spritebutton-class-t7440.html

在评论中,您会注意到提到了一个称为 ButtonSprite 的内置 AndEngine 类,但我还没有看到任何引用它的实际代码。它可能在 AndEngine 源的另一个分支中。

请注意,在实例化 SpriteButton 之前,您需要创建和加载字体以及纹理区域。

我也在研究 SpriteButton 处理旋转的效果如何。翻译(通过用户触摸)似乎工作正常。

关于android - Andengine - 在 Sprites 上/在 Sprites 上绘制文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9450824/

相关文章:

java - 将文本转换为pdf时如何保留文本格式?

python - 消除多余的逗号

android - 打开其他安卓应用

android - OnItemClickListner 不工作 android

python,搜索.txt文件并注入(inject)字符

c# - Unity 2D C# 在 Canvas 上实例化 Sprite 。找不到问题所在

image - Unity-3d-5 缩放图像 16 :9 to other resolutions

three.js - 三 js : Disable auto rotate of sprite

Android 媒体流错误? java.io.FileNotFoundException : No content provider :http://

android - Gradle 3,如何使库对 Android Studio 3 中的其他模块可见?