- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我敢打赌我做了一些愚蠢的事情,只是似乎没有注意到它。
package com.me.mygdxgame;
import com.badlogic.gdx.ApplicationListener;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL10;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.Texture.TextureFilter;
import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.Sprite;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
public class Locked implements ApplicationListener
{
private OrthographicCamera camera;
private SpriteBatch batch;
private Texture texture;
private Sprite sprite;
private BitmapFont font;
private CharSequence str = "Hello World!";
private float width;
private float height;
@Override
public void create()
{
width = Gdx.graphics.getWidth();
height = Gdx.graphics.getHeight();
camera = new OrthographicCamera(1, height / width);
batch = new SpriteBatch();
texture = new Texture(Gdx.files.internal("data/libgdx.png"));
texture.setFilter(TextureFilter.Linear, TextureFilter.Linear);
TextureRegion region = new TextureRegion(texture, 0, 0, 512, 275);
sprite = new Sprite(region);
sprite.setSize(0.9f, 0.9f * sprite.getHeight() / sprite.getWidth());
sprite.setOrigin(sprite.getWidth() / 2, sprite.getHeight() / 2);
sprite.setPosition(-sprite.getWidth() / 2, -sprite.getHeight() / 2);
font = new BitmapFont(Gdx.files.internal("data/digib.fnt"),
Gdx.files.internal("data/digib.png"), false);
}
@Override
public void dispose()
{
batch.dispose();
texture.dispose();
}
@Override
public void render()
{
Gdx.gl.glClearColor(1, 1, 1, 1);
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
batch.setProjectionMatrix(camera.combined);
batch.begin();
font.setColor(0.0f, 0.0f, 0.0f, 1.0f);
//sprite.draw(batch);
font.draw(batch, str, width*0.5f, height*0.5f);
batch.end();
}
@Override
public void resize(int width, int height)
{
}
@Override
public void pause()
{
}
@Override
public void resume()
{
}
}
项目是用他们提供的模板工具gdx-setup-ui.jar生成的正如您在代码中看到的那样,我没有费心去删除默认代码(只是一些简单的绘制代码来呈现 LibGDX Logo )。
因此,对于干净生成的项目,我在这里遵循了本指南 http://code.google.com/p/libgdx-users/wiki/addingText2D
最后得到上面提供的代码。
问题是,为什么 !@#$ing 文本不显示!?我改变了很多次位置,但仍然没有运气:\
我错过了什么吗?
仅供引用:字体很好,我将它们放到另一个游戏中并且可以正常工作。
最佳答案
尝试像这样改变投影矩阵:
Matrix4 normalProjection = new Matrix4().setToOrtho2D(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
batch.setProjectionMatrix(normalProjection);
关于java - 如何在 LibGDX 中绘制 BitmapFont?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12895822/
简单易用,跨平台,20KB! 效果 效果预览: https://www.bilibili.com/video/BV1cf4y1H7Pa 无论写代码还是写工具,都要明确输入与输出。
抱歉,我对 libgdx 有点陌生(到目前为止我真的很喜欢它!),所以可能有点入门问题 我正在为我的角色扮演游戏实现一个对话框类。基本上我让它一个字符一个字符地显示,就像你在最终幻想游戏中看到的那样。
所以我正在更新我的旧 Android 游戏,但我遇到了一些字体问题。我必须放大位图字体,但现在它很模糊。因此,我想知道在哪里可以获得更高分辨率的位图字体以及我必须将其放在哪个文件夹中?有人可以帮助我吗
我使用 Freetype、工具和 box2d for intellej 创建了我的项目,并尝试在 android studio 中运行: BitmapFont font = new BitmapFon
抱歉这个愚蠢的问题,但我是一个安静的菜鸟。我不知道如何在 Libgdx 中绘制位图字体。好吧,我已经使用 HIERO v2.0 工具制作了 BitmapFont 文件。然后我在代码中初始化它: Bit
我有一个 BitmapFont 来显示玩家得分。玩家以恒定的速度移动。对于 BitmapFont,我使用第二个 OrtographicCamera 和 SpriteBatch,因此我不需要重新计算字体
我有一个 BitmapFont,它在玩家以恒定速率在屏幕上移动时显示他的得分。因为播放器总是在移动,所以我必须重新计算每帧在什么位置绘制字体。我使用此代码。 scoreFont.setScal
我花了几个令人沮丧的小时来尝试实现(我认为的)一个简单的 FontActor 类。 这个想法是使用提供的 BitmapFont 在特定位置绘制文本。我已经做到了这么多。但是,我正在努力根据渲染的文本计
我已经到处寻找这个问题,但找不到解决方案。 这是我的渲染循环: Gdx.gl.glClearColor(0, 0, 0, 1); Gdx.gl.glClear(GL10.GL_COLOR_BUFF
查看LibGDX BitmapFont documentation我没有看到有办法将多个 .tga 文件添加到 BitmapFont 中。当字体大小大于 ~42 时,这只会给我带来麻烦,因此它必须创建
我在(非常)简单的项目中遇到了一个问题。当我绘制文本时,它在 Android(Samsung Galaxy S Advance)和桌面之间显示在不同的位置(并且明显具有不同的大小)。 在我的渲染器类中
我想要的是在更改屏幕大小时相应地更改大小的位图字体。我的意思是在我的电脑上,字体显得相当大,但在我的手机上,它是一种难以阅读的小字体。我可以更改大小,但我希望它在所有屏幕上看起来都相似,而不是在一个屏
我正在尝试使用文件 1.ttf(Android 的 LibGdx 应用程序)中的 BitmapFont。但是,无论我把这个文件放在哪里,我都会得到一个错误,说找不到它。这是我的代码: BitmapFo
我似乎不知道如何正确旋转位图字体。我想你修改了 SpriteBatch 的转换矩阵。但是,尝试旋转围绕某个点旋转文本,但我不知道如何相对于文本本身旋转它。 最佳答案 您可以在 sprite 中创建字形
我敢打赌我做了一些愚蠢的事情,只是似乎没有注意到它。 package com.me.mygdxgame; import com.badlogic.gdx.ApplicationListener; im
我目前正在尝试缩放字体,但收到错误消息“方法 setScale(float, float) 未定义 BitmapFont 类型”这是我收到错误的代码部分,特别是在第 2 行和第 4 行。 fo
我想在我的 Libgdx 游戏中绘制字符串,但我无法使用位图字体,因为我的游戏规模太小,无法使用它们。 最佳答案 听起来您的意思是视口(viewport)的比例太小而无法正确显示字体。有两种解决方案。
之前我在libgdx中的BitmapFont类中使用了getBound方法,但现在我无法使用它了。 我找不到最新版本的更改。 感谢任何帮助。谢谢 最佳答案 在API 1.5.6之后,我们有一种不同的方
我注意到当我使用 opengl 2 时,位图字体颜色不起作用它总是显示我的字体黑色。如何解决? 代码: 在创建() BitmapFont font; font = new BitmapFont(Gdx
我有一个支持安卓和桌面版本的libgdx项目。对于字体,我之前使用 FreeTypeFontGenerator 来生成我的字体。字体工作正常,但后来我决定用 .fnt 和 .png 文件创建我的 Bi
我是一名优秀的程序员,十分优秀!