2024年3月12日发(作者:)

private FrameAnimation[] spriteAnimations;

private Sprite mSprite;

private int spriteWidth = 0;

private int spriteHeight = 0;

private float spriteSpeed = (float) ((500 * SCREEN_WIDTH / 480) * 0.001);

private int row = 4;

private int col = 4;

public GameSurfaceView(Context context) {

super(context);

xt = context;

mHolder = der();

lback(this);

initResources();

mSprite = new Sprite(spriteAnimations, 0, 0, spriteWidth, spriteHeight, spriteSpeed);

}

private void initResources() {

Bitmap[][] spriteImgs = generateBitmapArray(mContext, , row, col);

spriteAnimations = new FrameAnimation[row];

for (int i = 0; i < row; i++) {

Bitmap[] spriteImg = spriteImgs[i];

FrameAnimation spriteAnimation = new FrameAnimation(spriteImg, new int[]{150, 150, 150, 150}, true);

spriteAnimations[i] = spriteAnimation;

}

}

public Bitmap decodeBitmapFromRes(Context context, int resourseId) {

s opt = new s();

erredConfig = _565;

eable = true;

tShareable = true;

InputStream is = ources().openRawResource(resourseId);

return Stream(is, null, opt);

}

public Bitmap createBitmap(Context context, Bitmap source, int row,

int col, int rowTotal, int colTotal) {

Bitmap bitmap = Bitmap(source,

(col - 1) * th() / colTotal,

(row - 1) * ght() / rowTotal, th()

/ colTotal, ght() / rowTotal);

return bitmap;

}

public Bitmap[][] generateBitmapArray(Context context, int resourseId,

int row, int col) {

Bitmap bitmaps[][] = new Bitmap[row][col];

Bitmap source = decodeBitmapFromRes(context, resourseId);

Width = th() / col;

Height = ght() / row;

for (int i = 1; i <= row; i++) {

for (int j = 1; j <= col; j++) {

bitmaps[i - 1][j - 1] = createBitmap(context, source, i, j, row, col);

}

}

if (source != null && !cled()) {

e();

source = null;

}

return bitmaps;

}

public void surfaceChanged(SurfaceHolder holder, int format, int width,

int height) {