Ошибка получения Bitmap в другом классе

Суть проблемы в том, что я объявил bitmap в главном классе и при передачи его через разные классы и методы у меня не идет отрисовка объекта в нужном мне классе, вот например:

public class DrawBattlefield extends Thread { 

/* какой-то код не нужный для вопроса */

public DrawBattlefield(Context context, SurfaceHolder surfaceHolder) {
        this.surfaceHolder = surfaceHolder;
        /* Добавляем картинку врага*/
        enemyBitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.true_enemy);
    }

public void run() { // запуск surfaceView
        while (running) {
            Canvas canvas = surfaceHolder.lockCanvas();
            if (canvas != null) {
                try {
                    Paint paint = new Paint();

                   
                    // Логига игры
                    new GameCore(canvas, enemyBitmap); // передача канвас и картинки врага
                    /* еще код */
                }
            }
        }
}

далее в GameCore он передаёт его в еще кучу классов где в конце он доходит до класса Enemy:

// создаем класс врага
public class Enemy {
    public int enemyXCoordinate = 0;
    public int enemySpeed = 0;
    public String enemyType;
    public int enemyWidth = 30;
    private Canvas canvas;
    private Rect enemyRect;
    private Bitmap enemyBitmap;

    public Enemy(int enemySpeed, Canvas canvas, Bitmap enemyBitmap) { // принимает канвас, скорость и картинку врага
        this.enemySpeed = enemySpeed;
        this.canvas = canvas;
        this.enemyBitmap = enemyBitmap;
    }

    public void draw() {
        enemyRect = new Rect(enemyXCoordinate, canvas.getHeight() / 2 + 300, enemyXCoordinate + enemyWidth, canvas.getHeight() / 2 + 200);
        canvas.drawBitmap(enemyBitmap, new Rect(0, 0, enemyBitmap.getWight(), enemyBitmap.getHight()), enemyRect, paint);
    }
}

в конце концов у меня должно получиться так, что там стоит не просто какой-то прямоугольник, а картинка врага, но у меня не выскакивают не ошибки, ничего, просто не идёт отрисовка, очень надеюсь на вашу помощь, заранее спасибо)


Ответы (0 шт):