[英]How to fix this error on libgdx project?
有人知道為什么它會在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.Java語言和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;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.