我发布了一个关于将文本绘制到像素地图以在运行时生成动态纹理的问题,这个问题已经解决了。
是否有一种简单的方法可以将复制到新像素映射中的字体着色,或者我是否需要逐个像素手动修改字体?我在libgdx库或Google上找不到任何明显的东西。
我目前的程序是:
创建一个新的像素映射
在那个像素图上画一个字符
将像素映射转换为呈现的纹理。
在这个过程中的某个时候,我希望能够在运行时使字体变浅。
代码更新以测试Jyro117 117的答案。(不工作,见下图)
// Set up the base image
Pixmap newPixmap = new Pixmap(
我目前正在做一个多人2d项目,遇到了一个问题。我正在学习Brent Aureli关于创建Super Mario like game的教程。当我想在游戏世界中绘制文本时,我的问题就出现了。Brent为游戏世界使用了缩小比例(1/100),以获得平滑的重力行为,自然的结果是正常的文本对于这个缩小的世界来说太大了,如果我尝试用font.getData().setScale(1/100)缩小字体,字体就会消失(我认为它变得太小而无法渲染)。 我也尝试过使用free-type字体生成器,但遇到了同样的问题,以及使用Heiro生成大小为3的字体。 有没有人遇到过同样的问题并找到了解决方案?
我在过去做了一些代码来检查文本,以找到将改变文本颜色的颜色代码。例如:
绘图:Hello my name&b is john在绘制时会给出这样的结果:Hello my name is john,但是"is john“将是蓝色的,因为我使用了&b颜色代码。我基本上是在模仿ansi,只是为了java。
现在,我想将文本包装得与LibGDX的BitMapFont.drawWrapped(...)完全一样,但仍然使用颜色代码。有人知道怎么做吗?我很可能最终能找到答案,但我只想知道是否有比我的更好的方法。
我有一个SelectBox,它获取一个对象列表,它基本上封装了图像和一些更多的细节。我不想显示文本,而是显示那个TextureRegion。
我该怎么做?据我所见,SelectBox默认显示toString()。
所以我的课看起来是这样的(有点傻了):
public class Image
{
private Vector2 position;
private TextureRegion sprite;
public Image(Vector2 position) {...}
public void render(SpriteBatch batch) { b
是否可以获得用drawWrapped方法绘制的字体的“高度”(使用wrapWidth)?
getMultiLineBounds只在使用\n时才能工作,但使用drawWrapped绘图时却不能给出合适的高度。
文本
String text = "hello this is very lonnnnng text without new line";
float wrapWidth = 100;
显示代码:
font.drawWrapped(batch, text, x, y, wrapWidth, alignment);
我的“获取显示的高度代码”:
font.getMulti
如何更改我的FreeType字体颜色?我想设置自定义颜色。我试着用Color color = new Color()来做这件事,但是不起作用。
第二,我能改变屏幕坐标吗?我用两台不同的相机。第一个摄像头用于游戏,第二个用于文本。当我在(0,0)位置绘制文本时,我的文本位于屏幕的中心,但我希望(0,0)位于左下角。怎么做到的?
我正在用libgx创建文本,但是有一个问题,根据手机的不同,文本可以是不同的大小。对于图像,我根据屏幕大小调整它们的大小,但是我不能用文本来调整大小,它需要包装和安装到手机上。谁能建议一种更好的绘制文本的方式,在任何移动屏幕上看起来一样。
课文类:
public class TextActor extends Actor {
BitmapFont font;
String text;
float x = 0;
float y = 0;
float w = 10;
float h = 10;
public TextActor(String text){
font = new Bitma
我在我的(非常)简单的项目中遇到了一个问题。当我绘制文本时,它会显示在Android (三星Galaxy前进版)和桌面之间的不同位置(而且大小不同)。
在我的渲染课上:
private OrthographicCamera cam;
public final int WIDTH = 320;
public final int HEIGHT = 480;
private ShapeRenderer debugRenderer = new ShapeRenderer();
private SpriteBatch batch = new SpriteBatch();
private Bitmap