我非常敢打赌,我做了一些愚蠢的事情,只是似乎没注意到。
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徽标)。
因此,对于干净生成的项目,我在这里遵循了本指南 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);
问题内容: 好的,我有这个代码 并且它将淡蓝色的背景绘制到屏幕上。我正在尝试创建一个渐变,该渐变从顶部的深蓝色到底部的浅蓝色。有没有简单的方法可以做到这一点?我是Libgdx和OpenGL的新手,所以我正尝试从书中学习,但我似乎找不到答案。我听说过要绘制一个大正方形并为顶点设置不同的颜色,但是我不确定该怎么做。 问题答案: 在libGDX中,ShapeRenderer对象包含一个方法,该方法为其位
问题内容: 我似乎无法弄清楚如何正确旋转位图字体。我认为您修改了SpriteBatch的转换矩阵。但是,尝试旋转会使文本绕某个点旋转,而且我不知道如何相对于文本本身旋转文本。 问题答案: 您可以尝试以下代码:
我使用的是libgdx 1.2.0+eclipse。我想在游戏画面中从一个类中绘制多个精灵,但只绘制了一个精灵。这是我的渲染方法
这是我在Libgdx游戏中的当前渲染方法。我试图在关卡的右上角画一个位图字体,但我得到的只是一堆白色框。 我想把乐谱字体添加到某种演员中,然后做一个场景。addActor(myScore),但我不知道怎么做。我按照Steigert的教程创建了一个主游戏类,该类在AbstractLevel类中实例化了场景font,然后扩展到这个级别。 到目前为止,我没有使用任何自定义字体,只是空的新BitmapFo
parameter.size=30; parameter.characters=“abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789.'()>?:”; font=generator.generateFont(参数); gdx.gl20.glclear(GL20.gl_color_buffer_bit); Begin(); f
我的迭代器 我的绘图方法