Ошибка Enemy (ru.samsung.itschool.myap.GameView, Bitmap) in Enemy cannot be applied to (anonymous android.view.SurfaceHolder.Callback, Bitmap)

182
26 мая 2017, 12:26

import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Random;

import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.view.SurfaceHolder; import android.view.SurfaceView;

public class GameView extends SurfaceView implements Runnable {

private List<Enemy> enemy = new ArrayList<Enemy>();
Bitmap enemies;
private Thread thread = new Thread(this);
/**Объект класса GameLoopThread*/
private GameThread mThread;
public int shotX;
public int shotY;
/**Переменная запускающая поток рисования*/
private boolean running = false;

//-------------Start of GameThread--------------------------------------------------\\
public class GameThread extends Thread
{
    /**Объект класса*/
    private GameView view;
    /**Конструктор класса*/
    public GameThread(GameView view)
    {
        this.view = view;
    }
    /**Задание состояния потока*/
    public void setRunning(boolean run)
    {
        running = run;
    }
    /** Действия, выполняемые в потоке */
    public void run()
    {
        while (running)
        {
            Canvas canvas = null;
            try
            {
                // подготовка Canvas-а
                canvas = view.getHolder().lockCanvas();
                synchronized (view.getHolder())
                {
                    // собственно рисование
                    onDraw(canvas);
                }
            }
            catch (Exception e) { }
            finally
            {
                if (canvas != null)
                {
                    view.getHolder().unlockCanvasAndPost(canvas);
                }
            }
        }
    }
}
//-------------End of GameThread--------------------------------------------------\\
public GameView(Context context)
{
    super(context);
    mThread = new GameThread(this);
    /*Рисуем все наши объекты и все все все*/
    getHolder().addCallback(new SurfaceHolder.Callback()
    {
        /*** Уничтожение области рисования */
        public void surfaceDestroyed(SurfaceHolder holder)
        {
            boolean retry = true;
            mThread.setRunning(false);
            while (retry)
            {
                try
                {
                    // ожидание завершение потока
                    mThread.join();
                    retry = false;
                }
                catch (InterruptedException e) { }
            }
            enemies = BitmapFactory.decodeResource(getResources(), R.drawable.target1);
            enemy.add(new Enemy(this,enemies));
        }

 

READ ALSO
Зачем в слушателе сооружать вот такую конструкцию из WeakReference?

Зачем в слушателе сооружать вот такую конструкцию из WeakReference?

Сегодня в одном из примеров кода увидел вот такую конструкцию

240
Количество дней от нулевого года до сегодня

Количество дней от нулевого года до сегодня

Как можно узнать количество дней, которое прошло от "начала времен" (0 год, 1 месяц, 1 день) до сегодня?

180
Spring, ошибка при подключении views

Spring, ошибка при подключении views

Помогите! Вот такая ошибка:

250
Как поменять цвет у ImageView

Как поменять цвет у ImageView

ЗдравствуйтеИмеется класс унаследованный от LinearLayout, в котором среди прочих элементов имеется ImageView

203