import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Matrix; import android.graphics.Point; import android.graphics.Rect; import android.view.MotionEvent; /** * Класс для создания спрайтов с кадрами с возможностью детектирования * столкновения ограничивающих прямоугольников и возможностью вращения на любой угол. * @autor samodelkin * @version 1.0 */ public class LayerSprite { private int mX, mY; // координаты слоя private boolean mVisible; // видимость слоя /** Изображения спрайта */ private Bitmap[] mFrames; /** Текущий индекс отрисовываемого спрайта (для анимаций) */ private int mFrameIndex; /** Последовательность кадров */ private int[] mFrameSequence; /** Ограничивающий прямоугольник (для отслеживания столкновений) */ private Rect mBounds; /** Матрица для вращения */ private Matrix matrix; /** Угол вращения и координаты опорного пикселя */ private int degress, refPixelX, refPixelY; /** Создать спрайт с несколькими изображениями. */ public LayerSprite(int[] ids,Resources res) { super(); Bitmap[] bitmaps; bitmaps=new Bitmap[ids.length]; for(int i=0;i