扒美女衣服——妄撮游戏实现原理

原创 2014年05月15日 16:05:56

扒美女衣服原版来自日本妄撮游戏,现在介绍一下它的实现原理。

1、两张美女图片,一张穿着衣服,一张没穿衣服。

2、采用FrameLayout将穿衣服的图片放在上面,没穿衣服的放在下面

3、当触摸图片时,将触摸位置处的图片设为透明。

这样就可以看到下面没穿衣服的图片,哈哈,是不是很简单。下面来看具体代码:

Layout布局两张图片叠加在一起

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

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

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

</FrameLayout>
主程序代码:

public class bayifu extends Activity {

	private ImageView iv_after;
	private ImageView iv_before;
	private Bitmap alterBitmap;
	private Canvas canvas;
	private Paint paint;
	private Bitmap after;
	private Bitmap before;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		int[] imageIds1 = new int[] { R.drawable.pre1, R.drawable.pre2,
				R.drawable.pre3, R.drawable.pre4, R.drawable.pre5,
				R.drawable.pre6, R.drawable.pre7, R.drawable.pre8,
				R.drawable.pre9, R.drawable.pre10, R.drawable.pre11,
				R.drawable.pre12, R.drawable.pre13, R.drawable.pre14,
				R.drawable.pre15, R.drawable.pre16, R.drawable.pre17,
				R.drawable.pre18, R.drawable.pre19, R.drawable.pre20,
				R.drawable.pre21 };

		int[] imageIds2 = new int[] { R.drawable.after1, R.drawable.after2,
				R.drawable.after3, R.drawable.after4, R.drawable.after5,
				R.drawable.after6, R.drawable.after7, R.drawable.after8,
				R.drawable.after9, R.drawable.after10, R.drawable.after11,
				R.drawable.after12, R.drawable.after13, R.drawable.after14,
				R.drawable.after15, R.drawable.after16, R.drawable.after17,
				R.drawable.after18, R.drawable.after19, R.drawable.after20,
				R.drawable.after21 };
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.tuoyifulayout);

		Intent ic = getIntent();
		Bundle bd = ic.getExtras();
		String is = bd.getString("num");
		int position = Integer.parseInt(is);
		BitmapFactory.Options opts = new Options();
		opts.inSampleSize = 1;

		iv_after = (ImageView) findViewById(R.id.iv_after);
		iv_before = (ImageView) findViewById(R.id.iv_before);

		after = BitmapFactory.decodeResource(getResources(),
				imageIds2[position], opts);
		before = BitmapFactory.decodeResource(getResources(),
				imageIds1[position], opts);
		// 可以修改的空白的bitmap
		alterBitmap = Bitmap.createBitmap(before.getWidth(),
				before.getHeight(), before.getConfig());
		canvas = new Canvas(alterBitmap);
		paint = new Paint();
		paint.setStrokeCap(Cap.ROUND);
		paint.setStrokeJoin(Join.ROUND);
		paint.setStrokeWidth(5);
		paint.setColor(Color.BLACK);
		paint.setAntiAlias(true);

		canvas.drawBitmap(before, new Matrix(), paint);
		//在ImageView中设置了重叠的两张图片
		iv_after.setImageBitmap(after);
		iv_before.setImageBitmap(before);

		iv_before.setOnTouchListener(new OnTouchListener() {

			@Override
			public boolean onTouch(View v, MotionEvent event) {
				// TODO Auto-generated method stub

				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 = -10; i < 10; i++) {
						for (int j = -10; j < 10; j++) {
							if (i + newX >= 0 && j + newY >= 0
									&& i + newX <= before.getWidth()
									&& j + newY <= before.getHeight())
								alterBitmap.setPixel(i + newX, j + newY,
										Color.TRANSPARENT);
						}
					}
					iv_before.setImageBitmap(alterBitmap);
					break;
				}
				return true;
			}
		});
	}

}

3、效果图



扒美女衣服——妄撮游戏实现原理

扒美女衣服原版来自日本妄撮游戏,现在介绍一下它的实现原理。 1、两张美女图片,一张穿着衣服,一张没穿衣服。 2、采用FrameLayout将穿衣服的图片放在上面,没穿衣服的放在下面 3、当触摸图片时,...
  • axiaoquan
  • axiaoquan
  • 2014年05月15日 16:05
  • 986

Android 开 发 资 源 分 享

一、精编教程贴                             1、安卓模拟器BlueStacks安装使用教程                                   http...
  • baby226
  • baby226
  • 2012年12月11日 18:25
  • 550

Android:简单实现美女扒衣服小游戏

实现思路 说说实现的大概思路,首先要有两副图片。这两幅图片的区别就在于一副有穿衣服,另外一副没有穿衣服,其他的细节都要一模一样。这对于懂ps的童鞋就好办啦自己动手制作就好了。但是本文为了照顾不懂ps的...
  • javy_codercoder
  • javy_codercoder
  • 2015年11月20日 21:59
  • 855

Android 撕衣服(刮刮乐游戏)

项目简介:  该项目为撕衣服,类似刮刮乐游戏详细介绍:用户启动项目后,加载一张图片,当用户点击图片的时候,点击的一片区域就会消失,从而显示出在这张图片下面的图片 这个小游戏类似与刮奖一样,刮开涂层就...
  • qq_36642554
  • qq_36642554
  • 2017年04月01日 21:26
  • 3851

HTML5游戏:《撕掉MM的衣服》

游戏99.9%都是程序猿写的,为什么玩游戏的人99.9%都不是程序猿? 有人说,咱是操着卖白粉的心,挣着卖白菜的钱!!! 有人说,每个IT产品和应用背后都是无数程序猿的血与泪!! 有人说,每...
  • cuixiping
  • cuixiping
  • 2011年12月29日 13:59
  • 4979

撕美女衣服应用的原理及做法

现在教大家做一款在市场上非常火的的应用,撕美女衣服。其实原理很简单: 1.准备两张一样的图片,一张是穿有衣服的,另一张是没有穿衣服的。 2.通过FrameLayout进行布局,穿衣服的放上面,没穿衣服...
  • loongggdroid
  • loongggdroid
  • 2014年01月21日 12:32
  • 8092

苏联女军人被轮奸而死后---苏联人是怎么干的?

有血性的民族,才能得到别人的尊重。 二战德军抓捕了苏联女军人卓雅,对她施以难以启齿的折磨,包括轮奸,割乳等等,最终坚贞不屈被折磨而死。战争尾声时,这个德国军团5万人被包围,请求投降,斯大...
  • zhousiwei
  • zhousiwei
  • 2015年10月03日 12:54
  • 1584

Android应用《撕开美女衣服》的实现过程及源代码

现在很多Android市场中都能找到关于美女的应用,比如 撕开美女衣服、吹裙子等。 这些应用的下载量挺大的,作为Android的开发人员或者一名技术人员我们不能只局限在欣赏应用的层面,很多时候需要我们...
  • lxq_xsyu
  • lxq_xsyu
  • 2013年12月20日 13:20
  • 6216

Android 仿美女撕衣服效果

因为我写demo的时候不是用一整屏幕来放置当前图片View的,且资源图也不小,所以用到了bitmap缩放 代码注释比较详尽,直接上了 package com.stone.guaguaka.view...
  • jjwwmlp456
  • jjwwmlp456
  • 2016年01月28日 15:17
  • 1527

撕掉美女衣服安卓游戏开发(GridView实现画廊效果,带注释)

文章是通过观看黑马
  • lxz26192
  • lxz26192
  • 2014年08月23日 09:32
  • 1050
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:扒美女衣服——妄撮游戏实现原理
举报原因:
原因补充:

(最多只允许输入30个字)