Я создаю игру для Android (базовая игра) и застрял с отображением определенного изображения на холсте.Цель игры - нажать на изображение, и изображение изменит свое местоположение.
Я убедился, что все методы написаны правильно, и ресурс изображения действительно существует.Другие вопросы, относящиеся к «холст не показывается», не помогли мне, потому что моя игра не использует XML (пока).Я следовал этому руководству: https://www.androidauthority.com/android-game-java-785331/
Это мой класс GameView, который должен создать изображение:
public class GameView extends SurfaceView implements SurfaceHolder.Callback {
public GameView(Context context) {
super(context);
getHolder().addCallback(this);
thread = new MainThread(getHolder(), this);
setFocusable(true);
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
Canvas canvas=new Canvas();
thread.setRunning(true);
thread.start();
characterSprite = new CharacterSprite(BitmapFactory.decodeResource(getResources(),R.drawable.avdgreen));
characterSprite.draw(canvas);
}
@Override
public void draw(Canvas canvas){
super.draw(canvas);
characterSprite.draw(canvas);
}
}
Мой класс CharacterSprite:
public CharacterSprite(Bitmap png) {
image = png;
x=100;
y=100;
}
public void draw(Canvas canvas) {
canvas.drawBitmap(image, 100, 100, null);
}
Изображение должно появиться на экране, но все, что я получаю, это пустой экран.
Спасибо.