有人知道为什么在 android studio 中它会变成红色或错误以及如何修复它吗?
这是代码
package com.appalyse.deliopblaster;
import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.InputProcessor;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
public class MyGdxGame extends ApplicationAdapter implements InputProcessor {
private SpriteBatch batch;
private BitmapFont font;
private int screenWidth, screenHeight;
private String message = "Touch me";
@Override
public void create () {
batch = new SpriteBatch();
screenWidth = Gdx.graphics.getWidth();
screenHeight = Gdx.graphics.getHeight();
font = new BitmapFont();
font.setColor(Color.GREEN);
font.getData().scale(5);
Gdx.input.setInputProcessor(this);
}
@Override
public void dispose() {
batch.dispose();
font.dispose();
}
@Override
public void render () {strong text
Gdx.gl.glClearColor(1, 1, 1, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
BitmapFont.*TextBounds* = font.*getBounds*(message);
float x = screenWidth/2 - *textSize*.width/2;
float y = screenHeight/2 + *textSize*.height/2;
batch.begin();
font.draw(batch, message, x, y);
batch.end();
}
@Override
public boolean touchDown(int screenX, int screenY, int pointer, int button) {
message = "Touch down at " + screenX + ", " + screenY;
return true;
}
@Override
public boolean touchUp(int screenX, int screenY, int pointer, int button) {
message = "Touch up at " + screenX + ", " + screenY;
return true;
}
@Override
public boolean touchDragged(int screenX, int screenY, int pointer) {
//message = "Dragging at" + screenX + ", " + screenY;
return true;
}
@Override
public boolean keyDown(int keycode) {
return false;
}
@Override
public boolean keyUp(int keycode) {
return false;
}
@Override
public boolean keyTyped(char character) {
return false;
}
@Override
public boolean mouseMoved(int screenX, int screenY) {
return false;
}
@Override
public boolean scrolled(int amount) {
return false;
}
}
它变成错误
BitmapFont.*TextBounds* = font.*getBounds*(message);
float x = screenWidth/2 - *textSize*.width/2;
float y = screenHeight/2 + *textSize*.height/2;
TextBounds、getBounds 和 textSize 错误
我想知道修复方法。
最佳答案
1.Javascript和Java是不同的语言。所以你的标签应该被删除。
2.Java 没有像您那样有效的 * 语法。 * 仅用于乘法目的。
3.libGDX 1.6 中字体处理发生了巨大变化。 “getBounds()”方法不再存在。要获取文本的宽度和高度,请尝试以下操作:
GlyphLayout glyphLayout = new GlyphLayout();
glyphLayout.setText(font, message);
float x = screenWidth/2 - glyphLayout.width/2;
float y = screenHeight/2 + glyphLayout.height/2;
关于java - 如何修复 libgdx 项目上的此错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32744560/