拼图小游戏

来源:互联网 发布:java thread.join 编辑:程序博客网 时间:2024/05/17 02:34

将图片切割成若干份

public static List<ImagePiece> splitImage(Bitmap bitmap,int piece){        List<ImagePiece> imagePieces=new ArrayList<ImagePiece>();        int width=bitmap.getWidth();        int height=bitmap.getHeight();        int pieceWidth=Math.min(width, height)/piece;        for(int i=0;i<piece;i++){            for(int j=0;j<piece;j++){                ImagePiece imagePiece=new ImagePiece();                imagePiece.setIndex(j+i*piece);                int x=j*pieceWidth;                int y=i*pieceWidth;                imagePiece.setBitmap(Bitmap.createBitmap(bitmap, x, y, pieceWidth, pieceWidth));                imagePieces.add(imagePiece);            }        }        return imagePieces;    }

将px转换成dp

mMagin = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,                3, getResources().getDisplayMetrics());

完成乱序

// 使用sort完成乱序        Collections.sort(mItemBitmaps, new Comparator<ImagePiece>() {            @Override            public int compare(ImagePiece a, ImagePiece b) {                return Math.random() > 0.5 ? 1 : -1;            }

设置图片选中时的状态

`
if (mFirst == null) {
mFirst = (ImageView) v;
// 设置图片选中时的状态
mFirst.setColorFilter(Color.parseColor("#55FF0000"));

`

0 0