Android 扒开美女衣服

本文主要实现一个小的扒开美女衣服的游戏项目

效果如下:

项目布局设计:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <ImageView
        android:id="@+id/iv_after"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <ImageView
        android:id="@+id/iv_pre"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</FrameLayout>

逻辑部分代码:

public class MainActivity extends Activity {

    private ImageView iv_after;
    private ImageView iv_before;

    private Bitmap alterBitmap;
    private Canvas canvas;

    private Paint paint;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        BitmapFactory.Options opts = new Options();
        opts.inSampleSize = 2;
        iv_after = (ImageView) findViewById(R.id.iv_after);
        iv_before = (ImageView) findViewById(R.id.iv_pre);

        Bitmap after = BitmapFactory.decodeResource(getResources(),
                R.drawable.after19, opts);
        Bitmap before = BitmapFactory.decodeResource(getResources(),
                R.drawable.pre19, opts);

        // 可以修改的空白的bitmap
        alterBitmap = Bitmap.createBitmap(before.getWidth(),
                before.getHeight(), before.getConfig());

        canvas = new Canvas(alterBitmap);
        paint = new Paint();
        paint.setStrokeWidth(5);
        paint.setColor(Color.BLACK);
        canvas.drawBitmap(before, new Matrix(), paint);

        iv_after.setImageBitmap(after);
        iv_before.setImageBitmap(alterBitmap);

        iv_before.setOnTouchListener(new OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {
                switch (event.getAction()) {
                case MotionEvent.ACTION_DOWN:

                    break;
                case MotionEvent.ACTION_MOVE:
                    int newX = (int) event.getX();
                    int newY = (int) event.getY();
                    for (int i = -6; i < 6; i++) {
                        for (int j = -6; j < 6; j++) {
                            alterBitmap.setPixel(i + newX, j + newY,
                                    Color.TRANSPARENT);

                        }
                    }
                    iv_before.setImageBitmap(alterBitmap);

                    break;
                case MotionEvent.ACTION_UP:

                    break;

                default:
                    break;
                }

                return true;
            }
        });

    }

}

 

posted @ 2016-09-06 11:04  wuyudong  阅读(1128)  评论(0编辑  收藏  举报
Top_arrow