日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

android星星爆炸效果图,Android_Android仿开心消消乐大树星星无限循环效果,啥都不说先上效果图,这个是 - phpStudy...

發布時間:2024/3/26 php 66 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android星星爆炸效果图,Android_Android仿开心消消乐大树星星无限循环效果,啥都不说先上效果图,这个是 - phpStudy... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Android仿開心消消樂大樹星星無限循環效果

啥都不說先上效果圖,這個是我項目里的效果:

下面的是我抽取出來的 demo 適配啥的我基本上都做好了沒做其他的

ok 下面 說一下思路把

首先 說一下原理 我是使用bitmap 創建兩張圖 一開始的時候 一張在下面記為1號 一張在上面 記為2號

當手指向下滑動時 判斷 1號 的起點位置 是否完全超出屏幕 如果超出屏幕的話 那么將2號變為下面 1號變為上面 (移動1號的Y坐標) 大體思路 是這樣. 里面還有許多判斷

比如 是否能向下滑動 起點位置, 星星的判定 哎呀 好煩 說的東西太多啦 來張我的草稿紙 哈哈 話說我草稿都寫了好幾頁

先上代碼:

/**

* Created by liuml on 2016/6/11.

*/

public class MyScrollView extends View {

// 其資源引用的是同一張圖片

private Bitmap bmpBackGround1;

private Bitmap bmpBackGround2;

int speed;

int pointX;

int tempy1;

private Context mcontext;

private int isfirst = 1;

// 按鈕的坐標

private int btnX, btnY;

// 按鈕是否按下標識位

private Boolean isPress;

// 界面背景坐標

private int bg1x, bg1y, bg2x, bg2y;

private int cloudx, cloudy;

List> mapList;

// 星星坐標

private int stars0X, stars0Y, stars1X, stars1Y, stars2X, stars2Y, stars3X,

stars3Y, stars4X, stars4Y, stars5X, stars5Y, stars6X, stars6Y,

stars7X, stars7Y, stars8X, stars8Y, stars9X, stars9Y, stars10X,

stars10Y;

// //定義第二頁的星星坐標

private int MaxStars = 80;// 最大的星星數量 80個

private int textContnt[] = new int[MaxStars];// 數字

private int pointsY[];

private int pointsX[];

private int pointY, moveY = 0;

private int activityNumber = 2;

private Bitmap treeBackGround;// 界面背景

private Bitmap cloud_bg;// 界面背景

private Bitmap starsBg;// 星星

private Bitmap starsBg_n;// 星星未做的

// 聲明一個Resources實例便于加載圖片

private Resources res = this.getResources();

// 聲明一個畫筆

private Paint paint;

private DisplayMetrics dm; // 獲取屏幕分辨率的類

// private Scroller mScroller;

private boolean isFirst = true;

// 點擊事件星星相關

int mDownX = 0;

int mDownY = 0;

int mTempX = 0;

int mTempY = 0;

private static final int MAX_DISTANCE_FOR_CLICK = 100;

private ScrollViewListener listener;

private int screenHeight;

private int screenWidth;

public MyScrollView(Context context, AttributeSet attrs) {

super(context, attrs);

mcontext = context;

// 背景加載資源

treeBackGround = BitmapFactory.decodeResource(res, R.drawable.tree);

cloud_bg = BitmapFactory.decodeResource(res, R.drawable.cloud_bg);

starsBg = BitmapFactory.decodeResource(res, R.drawable.stars_big);

starsBg_n = BitmapFactory.decodeResource(res, R.drawable.startbg_n);

this.bmpBackGround1 = treeBackGround;

this.bmpBackGround2 = treeBackGround;

bg1x = 0;

bg2x = 0;

cloudx = 0;

pointsY = new int[22];// Y軸

pointsX = new int[22];// X軸

screenHeight = DisplayUtils.getScreenHeight(context);

screenWidth = DisplayUtils.getScreenWidth(context);

initStartsXY();

initTextContent();

// mScroller = new Scroller(context);

// LogUtils.d("屏幕 分別率 高 = " + DisplayUtils.getScreenHeight(context) +

// " 屏幕 分別率 寬度 = " + DisplayUtils.getScreenWidth(context));

// LogUtils.d("屏幕 分別率 getDisplayDensity = " +

// DisplayUtils.getDisplayDensity(context));

}

public void setMapList(List list) {

mapList = list;

}

// //調用此方法滾動到目標位置

// public void smoothScrollTo(int fx, int fy) {

// int dx = fx - mScroller.getFinalX();

// int dy = fy - mScroller.getFinalY();

// smoothScrollBy(dx, dy);

// }

//

// //調用此方法設置滾動的相對偏移

// public void smoothScrollBy(int dx, int dy) {

//

// //設置mScroller的滾動偏移量

// mScroller.startScroll(mScroller.getFinalX(), mScroller.getFinalY(), dx,

// dy);

// invalidate();//這里必須調用invalidate()才能保證computeScroll()會被調用,否則不一定會刷新界面,看不到滾動效果

// }

//

// @Override

// public void computeScroll() {

// //先判斷mScroller滾動是否完成

// if (mScroller.computeScrollOffset()) {

//

// //這里調用View的scrollTo()完成實際的滾動

// scrollTo(mScroller.getCurrX(), mScroller.getCurrY());

//

// //必須調用該方法,否則不一定能看到滾動效果

// postInvalidate();

// }

// super.computeScroll();

// }

private void initTextContent() {

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

textContnt[i] = i + 1;

}

}

public void setOnclick(ScrollViewListener listener) {

this.listener = listener;

}

@Override

protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

super.onMeasure(widthMeasureSpec, heightMeasureSpec);

// 首先讓第一張背景底部正好填滿整個屏幕

int treeHeight = bmpBackGround1.getHeight() - getHeight();

// LogUtils.d("bg1y = " + bg1y + " bmpBackGround1.getHeight() = " +

// bmpBackGround1.getHeight()

// + " getHeight() = " + getHeight());

if (treeHeight > 0) {// 圖高大于屏幕高度

// 第二張背景圖緊接在第一張背景的上方

// 雖然兩張背景圖無縫隙連接但是因為圖片資源頭尾

// 直接連接不和諧,為了讓視覺看不出是兩張圖連接而修正的位置

bg1y = -(bmpBackGround1.getHeight() - getHeight());

bg2y = bg1y - bmpBackGround1.getHeight();// 這里可以+100

// 可以控制兩張圖之間的距離修正位置

} else {

bg1y = Math.abs(bmpBackGround1.getHeight() - getHeight());

bg2y = bg1y - bmpBackGround1.getHeight();// 這里可以+100

// 可以控制兩張圖之間的距離修正位置

}

// LogUtils.d("cloudy = " + cloudy + " bg1y = " + bg1y + " bg2y = " +

// bg2y + " screenH = " + getHeight());

// 實例一個畫筆

paint = new Paint();

paint.setAntiAlias(true);// 設置沒有鋸齒

// 設置畫筆顏色為白色

paint.setColor(Color.WHITE);

}

@Override

protected void onDraw(Canvas canvas) {

// LogUtils.d("屏幕 分別率 h = " + getHeight());

// LogUtils.d("屏幕 分別率 w = " + getWidth());

// 畫云背景

canvas.drawBitmap(resizeBitmap(cloud_bg, getWidth(), getHeight()),

cloudx, cloudy, paint);

// drawImage(canvas, cloud_bg, cloudx, cloudy, cloud_bg.getWidth(),

// cloud_bg.getHeight(), cloudx, cloudy, paint);

// 繪制兩張背景

if (isFirst) {

bmpBackGround1 = resizeBitmap(bmpBackGround1, getWidth(),

getHeight());

isFirst = false;

initBgView();

}

canvas.drawBitmap(bmpBackGround1, bg1x, bg1y, paint);

canvas.drawBitmap(bmpBackGround1, bg2x, bg2y, paint);

// LogUtils.d("bmpBackGround1.getHeight() = " +

// bmpBackGround1.getHeight() + " screenH = " + getHeight() +

// " bg1y = " + bg1y);

// LogUtils.d("bg1x = " + bg1x + " bg1y = " + bg1y + " bg2x = " + bg2x

// + " bg2y = " + bg2y + " screenH = " + getHeight());

starsDraw(canvas);// 繪制星星

TextViewDraw(canvas);// 繪制文本

super.onDraw(canvas);

}

@Override

protected void onScrollChanged(int l, int t, int oldl, int oldt) {

boolean isDown;

// speed = t - oldt;

//

// //判斷向上移動還是向下移動

// if (speed > 0) {

// isDown = true;

// } else {

// isDown = false;

// }

// logic(isDown);//計算點的距離

super.onScrollChanged(l, t, oldl, oldt);

}

public Bitmap resizeBitmap(Bitmap bitmap, int w, int h) {

if (bitmap != null) {

int width = bitmap.getWidth();

int height = bitmap.getHeight();

int newWidth = w;

int newHeight = h;

float scaleWight = ((float) newWidth) / width;

float scaleHeight = ((float) newHeight) / height;

Matrix matrix = new Matrix();

matrix.postScale(scaleWight, scaleHeight);

Bitmap res = Bitmap.createBitmap(bitmap, 0, 0, width, height,

matrix, true);// oom問題 待解決

return res;

} else {

return null;

}

}

// 畫文字

private void TextViewDraw(Canvas canvas) {

// 判斷當前畫的是第幾個

int c = activityNumber * 11;

int k = 0;

if (activityNumber > 2) {

k = c - ((activityNumber - 1) * 10);

}

// LogUtils.d("比例 x 28 = " + (double) 28 / screenWidth);

// LogUtils.d("比例 y 65 = " + (double) 65 / screenHeight);

// LogUtils.d("比例 x 40 = " + (double) 40 / screenWidth);

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

paint.setTextSize((int) (0.037037037037037035 * screenWidth));// 設置字體大小

// paint.setTypeface(typeface);//設置字體類型

// Typeface.DEFAULT:默認字體。

// Typeface.DEFAULT_BOLD:加粗字體。

// Typeface.MONOSPACE:monospace字體。

// Typeface.SANS_SERIF:sans字體。

// Typeface.SERIF:serif字體。

paint.setColor(Color.BLUE);

// 每頁第幾個 我推算出來的公式 (x-1)*11+i 這是普通的推算 具體問題 需要具體改變

// setTextColorUseReflection(Color.BLUE);

paint.setStrokeWidth(2); // 描邊寬度

paint.setFakeBoldText(true); // 外層text采用粗體

if (activityNumber <= 2) {

if (textContnt[i] > 9) {

paint.setColor(res.getColor(R.color.text_color));

canvas.drawText(

String.valueOf(textContnt[i]),

pointsX[i]

+ (int) (0.025925925925925925 * screenWidth),

pointsY[i]

+ (int) (0.033854166666666664 * screenHeight),

paint);

} else {

paint.setColor(res.getColor(R.color.text_color));

canvas.drawText(

String.valueOf(textContnt[i]),

pointsX[i]

+ (int) (0.037037037037037035 * screenWidth),

pointsY[i]

+ (int) (0.033854166666666664 * screenHeight),

paint);

}

} else {

// 下面的都是從在這里做操作對text 數值

// int u = (activityNumber - 2) * 11 + i-11;

// 必須分前后 前面的 是一隊 后面的是一隊

if (activityNumber % 2 != 0) {// 第三個開始 奇數 是第二個頁面在下面 第一個頁面在上

// 判斷上下的 作用

int befo;// (n-1)*11+i

int after;

if (i < 11) {// 數組前面的

befo = (activityNumber - 1) * 11 + i;

if (befo < MaxStars) {

if (textContnt[befo] > 9) {

paint.setColor(res.getColor(R.color.text_color));

canvas.drawText(

String.valueOf(textContnt[befo]),

pointsX[i]

+ (int) (0.025925925925925925 * screenWidth),

pointsY[i]

+ (int) (0.033854166666666664 * screenHeight),

paint);

} else {

paint.setColor(res.getColor(R.color.text_color));

canvas.drawText(

String.valueOf(textContnt[befo]),

pointsX[i]

+ (int) (0.037037037037037035 * screenWidth),

pointsY[i]

+ (int) (0.033854166666666664 * screenHeight),

paint);

}

}

} else {// 數組后面的

after = (activityNumber - 3) * 11 + i;

if (after < MaxStars) {

if (textContnt[after] > 9) {

paint.setColor(res.getColor(R.color.text_color));

canvas.drawText(

String.valueOf(textContnt[after]),

pointsX[i]

+ (int) (0.025925925925925925 * screenWidth),

pointsY[i]

+ (int) (0.033854166666666664 * screenHeight),

paint);

} else {

paint.setColor(res.getColor(R.color.text_color));

canvas.drawText(

String.valueOf(textContnt[after]),

pointsX[i]

+ (int) (0.037037037037037035 * screenWidth),

pointsY[i]

+ (int) (0.033854166666666664 * screenHeight),

paint);

}

}

}

} else {

int befo;// (n-1)*11+i

int after;

if (i < 11) {// 數組前面的

befo = (activityNumber - 2) * 11 + i;

if (befo < MaxStars) {

if (textContnt[befo] > 9) {

paint.setColor(res.getColor(R.color.text_color));

canvas.drawText(

String.valueOf(textContnt[befo]),

pointsX[i]

+ (int) (0.025925925925925925 * screenWidth),

pointsY[i]

+ (int) (0.033854166666666664 * screenHeight),

paint);

} else {

paint.setColor(res.getColor(R.color.text_color));

canvas.drawText(

String.valueOf(textContnt[befo]),

pointsX[i]

+ (int) (0.037037037037037035 * screenWidth),

pointsY[i]

+ (int) (0.033854166666666664 * screenHeight),

paint);

}

}

} else {// 數組后面的

after = (activityNumber - 2) * 11 + i;

if (after < MaxStars) {

if (textContnt[after] > 9) {

paint.setColor(res.getColor(R.color.text_color));

canvas.drawText(

String.valueOf(textContnt[after]),

pointsX[i]

+ (int) (0.025925925925925925 * screenWidth),

pointsY[i]

+ (int) (0.033854166666666664 * screenHeight),

paint);

} else {

paint.setColor(res.getColor(R.color.text_color));

canvas.drawText(

String.valueOf(textContnt[after]),

pointsX[i]

+ (int) (0.037037037037037035 * screenWidth),

pointsY[i]

+ (int) (0.033854166666666664 * screenHeight),

paint);

}

}

}

}

}

// LogUtils.d("pointsY [" + i + "]= " + pointsY[i]);

}

paint.setColor(Color.WHITE);

}

// 獲取當前頁數的開始數量

private int getCurrent(int i) {

int befo;

// 判斷上下

if (activityNumber % 2 != 0) {// 奇數 第一頁在上 第二頁在下

befo = (activityNumber - 1) * 11 + i;

// LogUtils.d("befo = " + befo + " activityNumber = " +

// activityNumber + " i = " + i);

} else {

befo = (activityNumber - 2) * 11 + i;

}

return befo;

}

// 獲取點擊的位置的數字

private int getOnclickNo(int i) {

int befo;// (n-1)*11+i

int after;

// 判斷上下

if (activityNumber % 2 != 0) {// 奇數 第一頁在上 第二頁在下

if (i < 11) {

befo = (activityNumber - 1) * 11 + i;

// LogUtils.d("i 小于11 befo = " + befo + " activityNumber = "

// + activityNumber + " i = " + i);

} else {

befo = (activityNumber - 3) * 11 + i;

// LogUtils.d("i 大于11 befo = " + befo + " activityNumber = "

// + activityNumber + " i = " + i);

}

} else {

if (i < 11) {

befo = (activityNumber - 2) * 11 + i;

// LogUtils.d(" 偶數的時候 befo = " + befo + " activityNumber = "

// + activityNumber + " i = " + i);

} else {

befo = (activityNumber - 2) * 11 + i;

}

}

return befo;

}

private void starsDraw(Canvas canvas) {

// 判斷畫一頁當中 最多的星星 是多少

int starsMax = (activityNumber) * 11;

int page;

if (starsMax > MaxStars) {// 判斷當前的最多的星星是否大于定好的星星數量

if (mapList == null) {

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

// 判斷當前畫的是第幾個

page = getCurrent(i);

// LogUtils.d("當前畫的是第幾個 = " + page);

canvas.drawBitmap(starsBg_n, pointsX[i], pointsY[i], paint);

}

} else {

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

// 判斷當前畫的是第幾個

page = getCurrent(i);

// LogUtils.d("當前的 最前面的是多少 current = " + page);

if (page < MaxStars) {

if (page < i) {

Map stringObjectMap = mapList

.get(page);

String type = (String) stringObjectMap.get("type");

if (type.equals("1")) {

canvas.drawBitmap(starsBg, pointsX[i],

pointsY[i], paint);

} else {

canvas.drawBitmap(starsBg_n, pointsX[i],

pointsY[i], paint);

}

} else {

canvas.drawBitmap(starsBg_n, pointsX[i],

pointsY[i], paint);

}

}

// LogUtils.d("pointsY [" + i + "]= " + pointsY[i]);

}

}

} else {

if (mapList == null) {

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

// 判斷當前畫的是第幾個

page = getCurrent(i);

// LogUtils.d("當前畫的是第幾個 = " + page);

canvas.drawBitmap(starsBg_n, pointsX[i], pointsY[i], paint);

}

} else {

int size = mapList.size();

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

// 判斷當前畫的是第幾個

page = getCurrent(i);

// LogUtils.d("當前畫的是第幾個 = " + page);

if (page < size) {

Map stringObjectMap = mapList.get(page);

String type = (String) stringObjectMap.get("type");

if (type.equals("1")) {

canvas.drawBitmap(starsBg, pointsX[i], pointsY[i],

paint);

} else {

canvas.drawBitmap(starsBg_n, pointsX[i],

pointsY[i], paint);

}

} else {

canvas.drawBitmap(starsBg_n, pointsX[i], pointsY[i],

paint);

}

}

}

}

}

private void canvasStats() {

}

private void initStartsXY() {

stars0X = 340;//

stars0Y = 1180;//

stars1X = 280;

stars1Y = 1065;

stars2X = 500;

stars2Y = 967;

stars3X = 240;

stars3Y = 842;

stars4X = 400;

stars4Y = 761;

stars5X = 540;

stars5Y = 685;

stars6X = 330;

stars6Y = 526;

stars7X = 540;

stars7Y = 431;

stars8X = 375;

stars8Y = 245;

stars9X = 550;

stars9Y = 113;

stars10X = 310;

stars10Y = 57;

speed = 0;

pointsX[0] = (int) (screenWidth * 0.39351851851851855);

pointsX[1] = (int) (screenWidth * 0.25925925925925924);

pointsX[2] = (int) (screenWidth * 0.46296296296296297);

pointsX[3] = (int) (screenWidth * 0.2222222222222222);

pointsX[4] = (int) (screenWidth * 0.37037037037037035);

pointsX[5] = (int) (screenWidth * 0.5);

pointsX[6] = (int) (screenWidth * 0.3055555555555556);

pointsX[7] = (int) (screenWidth * 0.5);

pointsX[8] = (int) (screenWidth * 0.3472222222222222);

pointsX[9] = (int) (screenWidth * 0.5092592592592593);

pointsX[10] = (int) (screenWidth * 0.28703703703703703);

// pointsX[0] = stars0X;

// pointsX[1] = stars1X;

// pointsX[2] = stars2X;

// pointsX[3] = stars3X;

// pointsX[4] = stars4X;

// pointsX[5] = stars5X;

// pointsX[6] = stars6X;

// pointsX[7] = stars7X;

// pointsX[8] = stars8X;

// pointsX[9] = stars9X;

// pointsX[10] = stars10X;

pointsX[11] = pointsX[0];

pointsX[12] = pointsX[1];

pointsX[13] = pointsX[2];

pointsX[14] = pointsX[3];

pointsX[15] = pointsX[4];

pointsX[16] = pointsX[5];

pointsX[17] = pointsX[6];

pointsX[18] = pointsX[7];

pointsX[19] = pointsX[8];

pointsX[20] = pointsX[9];

pointsX[21] = pointsX[10];

pointsY[0] = stars0Y;

pointsY[1] = stars1Y;

pointsY[2] = stars2Y;

pointsY[3] = stars3Y;

pointsY[4] = stars4Y;

pointsY[5] = stars5Y;

pointsY[6] = stars6Y;

pointsY[7] = stars7Y;

pointsY[8] = stars8Y;

pointsY[9] = stars9Y;

pointsY[10] = stars10Y;

// pointsY[0] = (int) (screenHeight * 0.6145833333333334);

// pointsY[1] = (int) (screenHeight * 0.5546875);

// pointsY[2] = (int) (screenHeight * 0.5036458333333333);

// pointsY[3] = (int) (screenHeight * 0.43854166666666666);

// pointsY[4] = (int) (screenHeight * 0.3963541666666667);

// pointsY[5] = (int) (screenHeight * 0.3411458333333333);

// pointsY[6] = (int) (screenHeight * 0.27395833333333336);

// pointsY[7] = (int) (screenHeight * 0.22447916666666667);

// pointsY[8] = (int) (screenHeight * 0.12760416666666666);

// pointsY[9] = (int) (screenHeight * 0.058854166666666666);

// pointsY[10] = (int) (screenHeight * 0.0296875);

pointsY[11] = pointsY[0] - (bmpBackGround1.getHeight());

pointsY[12] = pointsY[1] - (bmpBackGround1.getHeight());

pointsY[13] = pointsY[2] - (bmpBackGround1.getHeight());

pointsY[14] = pointsY[3] - (bmpBackGround1.getHeight());

pointsY[15] = pointsY[4] - (bmpBackGround1.getHeight());

pointsY[16] = pointsY[5] - (bmpBackGround1.getHeight());

pointsY[17] = pointsY[6] - (bmpBackGround1.getHeight());

pointsY[18] = pointsY[7] - (bmpBackGround1.getHeight());

pointsY[19] = pointsY[8] - (bmpBackGround1.getHeight());

pointsY[20] = pointsY[9] - (bmpBackGround1.getHeight());

pointsY[21] = pointsY[10] - (bmpBackGround1.getHeight());

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

double x = (double) pointsX[i] / screenWidth;

DecimalFormat df = new DecimalFormat("0.00");// 格式化小數,.后跟幾個零代表幾位小數

LogUtils.d("比例 i " + i + " x = " + x);

}

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

double y = (double) pointsY[i] / screenHeight;

DecimalFormat df = new DecimalFormat("0.00");// 格式化小數,.后跟幾個零代表幾位小數

LogUtils.d("比例 i " + i + " y = " + y);

}

// float y = (float) 10 / screenHeight;

// float x = (float) 10 / screenWidth;

// LogUtils.d("比例 i 10 x = " + x + "比例 i 10 y = " +

// y);

}

private void speedStarsXY() {

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

pointsY[i] += speed;

}

}

private void setStartsXYDown(int type) {

// LogUtils.d("pointy 0 之前= " + pointsY[0]);

// LogUtils.d("pointy 11之前 = " + pointsY[11]);

if (type == 0) {

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

int p = pointsY[i + 11];

pointsY[i] = p - (bmpBackGround1.getHeight());

// LogUtils.d("改變 后的 pointsY[" + i + "] = " + pointsY[i]);

}

} else {

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

// LogUtils.d("向下的第二種 pointsY[i+ 11] " + (pointsY[i] -

// (bmpBackGround1.getHeight())));

int p = pointsY[i];

pointsY[i + 11] = p - (bmpBackGround1.getHeight());

// LogUtils.d("改變 后的 向下的第二種 pointsY[" + i + "] = " +

// pointsY[i]);

}

}

}

private void setStartsXYUp(int type) {

if (type == 0) {

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

pointsY[i] = pointsY[i + 11] + (bmpBackGround1.getHeight());

}

} else {

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

pointsY[i + 11] = pointsY[i] + (bmpBackGround1.getHeight());

}

}

}

@Override

public boolean onTouchEvent(MotionEvent event) {

// 獲取當前觸控位置

// LogUtils.d("觸摸事件 event.getAction() = " + event.getAction());

int x = (int) event.getX();

int y = (int) event.getY();

boolean isDown;

switch (event.getAction()) {

case MotionEvent.ACTION_DOWN:// 當用戶是按下

pointX = x;

pointY = y;

mDownX = (int) event.getX();

mDownY = (int) event.getY();

LogUtils.d(" 按下的 點 x = " + pointX + " y = " + pointY);

// LogUtils.d(" 按下的 點的比例 x = " + (double) pointX / screenWidth +

// " y = " + (double) pointY / screenHeight);

break;

case MotionEvent.ACTION_MOVE:// 移動

// LogUtils.d("init moveY " + moveY);

tempy1 = moveY;

moveY = (int) event.getY();

speed = moveY - tempy1;

// 判斷向上移動還是向下移動

if (speed > 0) {

isDown = true;

} else {

isDown = false;

}

logic(isDown);// 計算點的距離

// LogUtils.d("pointY = " + pointY + " moveY = " + moveY + " speed "

// + (speed));

break;

case MotionEvent.ACTION_UP:

moveY = 0;

mTempX = (int) event.getX();

mTempY = (int) event.getY();

if (Math.abs(mTempX - mDownX) > MAX_DISTANCE_FOR_CLICK

|| Math.abs(mTempY - mDownY) > MAX_DISTANCE_FOR_CLICK) {

// 抬起的距離 和按下的距離太遠 不形成點擊事件

// LogUtils.d("起的距離 和按下的距離太遠 不形成點擊事件");

} else {

isOnclick(mTempX, mTempY);

}

break;

}

invalidate();// 刷新界面

// 使系統響應事件,返回true

return true;

}

// 添加自定義點擊事件

private boolean isOnclick(int x, int y) {

LogUtils.d("點擊了");

if (listener != null) {

// 判斷是否點擊到星星上面

return isStarsOnclick(x, y, listener);

} else {

return false;

}

}

private boolean isStarsOnclick(int x, int y, ScrollViewListener listener) {

int x1;

int y1;

int x2;

int y2;

// LogUtils.d("點擊 X = " + x + " 點擊 Y = " + y + " 星星 X = " + pointsX[0]

// + " 星星 y = " + pointsY[0]);

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

x1 = pointsX[i];

y1 = pointsY[i];

// LogUtils.d("比例 y 100 = " + (double) 100 / screenHeight);

// LogUtils.d("比例 x 100 = " + (double) 100 / screenWidth);

x2 = pointsX[i] + (int) (screenWidth * 0.09259259259259259);

y2 = pointsY[i] + (int) (screenHeight * 0.052083333333333336);

if (x > x1 && x < x2 && y > y1 && y < y2) {

// LogUtils.d("點擊到了");

int current = getOnclickNo(i) + 1;

listener.myOnclick(current);

// LogUtils.d("點擊的第幾位 : " + current);

return true;

}

}

// LogUtils.d("沒有點擊到");

return false;

}

// 判斷是否到頂部了

private void isTop() {

if (activityNumber >= 8 && bg1y > getHeight()) {

// LogUtils.d("當第1張圖片的Y坐標超出屏幕, 圖片向上的情況 activityNumber 加上的 =======到頂部= bg1y"

// + activityNumber);

bg1y = getHeight();

bg2y = bg1y - bmpBackGround1.getHeight();

speed = 0;

speedStarsXY();

return;

} else {

speedStarsXY();

}

}

// 背景滾動的邏輯函數

public void logic(boolean isDown) {

if (isDown) {// 手指向下

if (tempy1 != 0) {

bg1y += speed;

bg2y += speed;

// LogUtils.d("isTop = " + isTop());

isTop();

}

// //判斷是否到頂部了

// if (activityNumber >= 8 && bg1y > getHeight()) {

// //LogUtils.d("當第1張圖片的Y坐標超出屏幕, 圖片向上的情況 activityNumber 加上的 =======到頂部= bg1y"

// + activityNumber);

// bg1y = getHeight();

// bg2y = bg1y - bmpBackGround1.getHeight();

// return;

// }

// LogUtils.d("bg1y = " + bg1y + " bg2y = " + bg2y +

// " bg1y - bmpBackGround1.getHeight() = " + (bg1y -

// bmpBackGround1.getHeight()) +

// " -Math.abs(bmpBackGround1.getHeight() - getHeight()) = " +

// (-Math.abs(bmpBackGround1.getHeight() - getHeight())));

// 當第一張圖片的Y坐標超出屏幕, 手指向下的情況

// 立即將其坐標設置到第二張圖的上方

if (bg1y > getHeight()) {

bg1y = bg2y - bmpBackGround1.getHeight();

activityNumber += 1;

// LogUtils.d("bg1y = " + bg1y + " getHeight = " + getHeight() +

// " bmpBackGround1.getHeight() = " +

// bmpBackGround1.getHeight() + " activityNumber 加上的 = " +

// activityNumber);

setStartsXYDown(0);

// LogUtils.d("當第1張圖片的Y坐標超出屏幕, 圖片向上的情況 activityNumber 加上的 = "

// + activityNumber);

}

// 當第二張圖片的Y坐標超出屏幕,向下的情況

// 立即將其坐標設置到第一張圖的上方

if (bg2y > getHeight()) {

bg2y = bg1y - bmpBackGround1.getHeight();

activityNumber += 1;

// LogUtils.d("當第1張圖片的Y坐標超出屏幕, 圖片向上的情況 activityNumber 加上的 = "

// + activityNumber);

// LogUtils.d("bg1y = " + bg1y + " getHeight = " + getHeight() +

// " bmpBackGround1.getHeight() = " +

// bmpBackGround1.getHeight() + " activityNumber 加上的 = " +

// activityNumber);

setStartsXYDown(1);

}

} else {

// 當第一張圖片的Y坐標超出屏幕, 手指向上的情況

// 立即將其坐標設置到第二張圖的下方

if (tempy1 != 0) {

bg1y += speed;

bg2y += speed;

// //判斷是否到底部

isBottom();

}

// LogUtils.d("bg1y = " + bg2y + " bg2y = " + bg2y +

// " bg1y - bmpBackGround1.getHeight() = " + (bg1y -

// bmpBackGround1.getHeight()) +

// " -Math.abs(bmpBackGround1.getHeight() - getHeight()) = " +

// (-Math.abs(bmpBackGround1.getHeight() - getHeight())));

if (bg1y < -Math.abs(bmpBackGround1.getHeight() - getHeight())) {

if (bg2y < bg1y) {

activityNumber -= 1;

setStartsXYUp(1);

// LogUtils.d("當第1張圖片的Y坐標超出屏幕, 圖片向下的情況 activityNumber 減去的 = "

// + activityNumber);

}

bg2y = bg1y + bmpBackGround1.getHeight();// 換屏了 首尾相接

}

if (bg2y < -Math.abs(bmpBackGround1.getHeight() - getHeight())) {

if (bg1y < bg2y) {// 當換圖的時候 給減一

activityNumber -= 1;

setStartsXYUp(0);

// LogUtils.d("當第二張圖片的Y坐標超出屏幕, 圖片向下的情況 activityNumber 減去的 = "

// + activityNumber);

}

bg1y = bg2y + bmpBackGround1.getHeight();

}

}

}

private void isBottom() {

int treeHeight = bmpBackGround1.getHeight() - getHeight();

if (treeHeight < 0) {

if (activityNumber <= 2

&& bg1y < Math

.abs(bmpBackGround1.getHeight() - getHeight())) {// 如果是一開始的

// 到底部時

// 不能滑動

// 并且重置

// 坐標點

activityNumber = 2;

bg1y = Math.abs(bmpBackGround1.getHeight() - getHeight());

// 第二張背景圖緊接在第一張背景的上方

// 直接連接不和諧,為了讓視覺看不出是兩張圖連接而修正的位置

bg2y = bg1y - bmpBackGround1.getHeight();

initStartsXY();

return;

} else {

speedStarsXY();

// LogUtils.d("pointy speedStarsXY 11之后 = " + pointsY[11]);

}

} else {

if (activityNumber <= 2

&& bg1y < -Math.abs(bmpBackGround1.getHeight()

- getHeight())) {// 如果是一開始的 到底部時 不能滑動 并且重置 坐標點

activityNumber = 2;

bg1y = -Math.abs(bmpBackGround1.getHeight() - getHeight());

// 第二張背景圖緊接在第一張背景的上方

// +101的原因:雖然兩張背景圖無縫隙連接但是因為圖片資源頭尾

// 直接連接不和諧,為了讓視覺看不出是兩張圖連接而修正的位置

bg2y = bg1y - bmpBackGround1.getHeight();

initStartsXY();

return;

} else {

speedStarsXY();

// LogUtils.d("pointy speedStarsXY 11之后 = " + pointsY[11]);

}

}

}

private void initBgView() {

int treeHeight = bmpBackGround1.getHeight() - getHeight();

if (treeHeight < 0) {

activityNumber = 2;

bg1y = Math.abs(bmpBackGround1.getHeight() - getHeight());

// 第二張背景圖緊接在第一張背景的上方

// 直接連接不和諧,為了讓視覺看不出是兩張圖連接而修正的位置

bg2y = bg1y - bmpBackGround1.getHeight();

initStartsXY();

return;

} else {

activityNumber = 2;

bg1y = -Math.abs(bmpBackGround1.getHeight() - getHeight());

// 第二張背景圖緊接在第一張背景的上方

bg2y = bg1y - bmpBackGround1.getHeight();

initStartsXY();

return;

}

}

}

源碼下載:Android仿開心消消樂游戲

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持phpstudy。相關閱讀:

Win10虛擬光驅如何使用如何裝載和彈出

php編譯安裝php-amq擴展簡明教程

linux系統下ubuntu 中截圖工具及快捷鍵設置

Win10重大更新RedStone正式開工 最早2016年6月現身

ASP.NET的適配器設計模式(Adapter)應用詳解

javascript DIV跟隨鼠標移動

.NET的動態編譯與WS服務調用詳解

合并兩個DataSet的數據內容的方法

windows系統怎么取消關機時強制關閉程序提示窗口?

Win8系統安裝軟件提示需要用管理員身份才能安裝軟件的故障原因及解決方法

php使用for語句輸出三角形的方法

Win10系統出現藍屏提示錯誤代碼0x00000050兩種解決方法

解析C++編程中的選擇結構和switch語句的用法

jquery實現點擊其他區域時隱藏下拉div和遮罩層的方法

總結

以上是生活随笔為你收集整理的android星星爆炸效果图,Android_Android仿开心消消乐大树星星无限循环效果,啥都不说先上效果图,这个是 - phpStudy...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

av成人免费在线 | 国产美女视频免费 | 日日夜夜爱 | 青青河边草观看完整版高清 | 精品一二三四在线 | 在线色资源 | 国产中文字幕一区 | 久久精品中文视频 | 日本黄色黄网站 | 国产第一页精品 | 天天色天天射天天干 | 久久少妇av| 成人 亚洲 欧美 | 91精品国产自产91精品 | 亚洲精品视频免费看 | 欧美男同网站 | 日韩精品免费一区二区在线观看 | 午夜美女av| 香蕉久久久久久久 | 中文有码在线视频 | 黄色大片av | 精品国产一区二区三区免费 | 中文字幕超清在线免费 | 国内精品久久久久影院男同志 | 久久久久久久久久久电影 | 高清一区二区三区 | 99久久夜色精品国产亚洲 | 国产高清在线永久 | 久久黄色免费视频 | 91精品国产自产91精品 | 久99视频| 午夜国产福利视频 | 久久精品国产免费看久久精品 | 国产 在线 高清 精品 | 日韩黄色一级电影 | 久久伊人八月婷婷综合激情 | 国产护士av | 日日干天天干 | 国产在线看| 亚洲最新在线 | 亚洲日本va午夜在线电影 | 狠狠狠色丁香婷婷综合久久五月 | 日韩精品免费在线观看 | 欧美日韩不卡在线 | 91人人澡人人爽人人精品 | 久久久片 | 成人在线视频免费看 | 五月婷婷中文网 | 欧美日韩精品影院 | 欧亚久久 | 国产一二区视频 | 成人黄色片在线播放 | 午夜丁香视频在线观看 | 日韩美在线观看 | 国产91国语对白在线 | www.在线看片.com | 亚洲精选国产 | 欧美性粗大hdvideo | 人人澡人人爽欧一区 | www久久99 | 九九涩涩av台湾日本热热 | 久久成人综合 | 久久国产露脸精品国产 | 99久久精品国 | 国产高清日韩欧美 | 国内精品久久久久久久久久久久 | 久久久久久久久久久久久久免费看 | 夜夜躁狠狠燥 | 久久久午夜精品福利内容 | www.狠狠色 | 亚洲一级片在线看 | 香蕉视频久久久 | 国产理论片在线观看 | 亚洲精品在线观看网站 | 亚洲九九九在线观看 | 天天操人人要 | 免费av影视 | 久久狠狠干 | 99久久国产免费看 | 中文字幕av有码 | 精品久久久网 | 六月丁香综合 | 国内精品视频免费 | 国产精品麻豆视频 | 在线日韩中文 | 久久99九九99精品 | 国产成人三级在线播放 | 国产中文字幕在线播放 | av中文天堂在线 | 中文字幕亚洲五码 | 久草电影免费在线观看 | 四虎国产精品永久在线国在线 | 91成人在线视频 | 亚洲理论电影 | 有码一区二区三区 | 又黄又刺激视频 | 欧美激情视频一区二区三区 | av解说在线观看 | 美女免费视频观看网站 | 中文字幕首页 | 国产在线精品一区 | 九九热av| 中文字幕 第二区 | 国产一区免费视频 | 婷婷去俺也去六月色 | 美女视频黄免费网站 | 成人av一二三区 | 日韩在线观看一区二区三区 | 中文国产在线观看 | 九九视频在线 | 亚洲精品18日本一区app | 成人av一区二区三区 | 91九色视频导航 | 夜夜骑日日操 | 国产欧美最新羞羞视频在线观看 | а中文在线天堂 | 亚洲午夜精品一区 | 国产一级免费视频 | 最近日本韩国中文字幕 | 午夜精品久久久久久久久久 | 在线探花| 国产区在线看 | 99在线观看免费视频精品观看 | 顶级bbw搡bbbb搡bbbb | 黄色免费网站大全 | 成人影音在线 | 一区二区三区四区精品视频 | 国产毛片在线 | 免费在线观看的av网站 | 免费观看全黄做爰大片国产 | 黄av免费在线观看 | 欧美色婷 | 久久精品成人热国产成 | 一级一级一片免费 | 国产区第一页 | 国产中文字幕精品 | 亚洲天堂社区 | 久久久久久久国产精品视频 | 97综合在线 | 天天躁日日躁狠狠 | av亚洲产国偷v产偷v自拍小说 | 中文字幕久久精品亚洲乱码 | 国产成人亚洲在线观看 | 高清精品在线 | 综合网伊人 | 久久影视精品 | 天天干亚洲 | 欧美日韩激情网 | 久久成年人 | av无限看 | 91网页版免费观看 | 久草视频一区 | 亚洲精品激情 | 婷婷激情久久 | 色在线最新 | 正在播放亚洲精品 | 日韩在线免费看 | 久久久久99精品国产片 | 综合五月婷婷 | 久久久精品网 | 中文字幕精品三区 | 日韩电影在线看 | 九九九九九九精品任你躁 | 欧洲精品码一区二区三区免费看 | 国产99久久99热这里精品5 | 黄网站a | 国产91精品在线播放 | 国产在线观看,日本 | 欧美在线一级片 | 中文字幕亚洲欧美 | 欧美激情精品久久久久 | 91精品资源 | 97电影在线观看 | 人人涩| 一级国产视频 | 亚洲精品网址在线观看 | av短片在线观看 | 色综合久久久久网 | 久久精品欧美日韩精品 | 国产小视频福利在线 | 国产精品免费观看久久 | 91最新网址在线观看 | 免费看一级 | 欧美国产日韩激情 | 最新国产精品亚洲 | 波多野结衣在线观看一区 | 人人擦| 婷婷色av | 在线之家免费在线观看电影 | 男女啪啪网站 | 国产精品久久久久久高潮 | 国产91在线免费视频 | 麻豆视频免费看 | 永久黄网站色视频免费观看w | 国产一区精品在线观看 | 91毛片在线 | 日韩在线国产精品 | 国产日韩视频在线播放 | 精品国产片 | 嫩草伊人久久精品少妇av | 久久理论视频 | 正在播放亚洲精品 | 精品一区电影 | av经典在线 | 99视频导航| 91资源在线 | 日韩精品无 | 久久久久国产精品免费网站 | 国产精品久久久久久一区二区 | 香蕉精品在线观看 | 亚洲国产日韩欧美 | 亚洲另类人人澡 | 91人人爽人人爽人人精88v | 91网站免费观看 | 亚洲一级片免费观看 | 成年人在线播放视频 | 超碰夜夜| 欧美一区二区精品在线 | 国内外成人在线 | 久久免费视频播放 | 97碰碰碰| 在线观看免费黄视频 | 天天操天天干天天综合网 | 亚洲精品tv久久久久久久久久 | av在线网站观看 | 色婷婷综合久色 | 最近免费在线观看 | 久久九九国产视频 | 国产精品久久一区二区无卡 | 日本黄色免费在线 | 久久久久亚洲最大xxxx | 精品久久久久久综合 | 成人黄色毛片 | 久草在线最新 | 亚洲精品91天天久久人人 | 精品久久久久久久久久岛国gif | 欧洲视频一区 | 国产糖心vlog在线观看 | 九色91在线 | 欧美激精品 | 日韩天天干| 久草成人在线 | 亚洲精品在线观看免费 | 一级a毛片高清视频 | 国内精品久久久久久久影视麻豆 | 一级a性色生活片久久毛片波多野 | 色九九视频 | 国产三级精品三级在线观看 | 国产精品高潮呻吟久久久久 | 黄色软件网站在线观看 | 曰本三级在线 | 欧洲av在线 | 狠狠狠色丁香综合久久天下网 | 99精品在线观看视频 | 欧美一级裸体视频 | 成人av电影在线观看 | 伊人夜夜| 99久久婷婷国产精品综合 | 成人污视频在线观看 | 国产成人久久精品77777综合 | 成人免费亚洲 | 超碰97在线资源 | 四虎免费在线观看视频 | 欧美日韩国产精品一区二区 | 国产成人av福利 | 国产精品精品国产 | 在线播放一区二区三区 | 亚洲精品高清在线观看 | 免费观看一级成人毛片 | 97在线精品国自产拍中文 | 亚洲三级影院 | 国产精品日韩欧美一区二区 | 日韩爱爱片 | 亚洲精品免费视频 | 99热亚洲精品 | 久精品视频在线 | 午夜三级毛片 | 999视频网站 | 成人小视频在线免费观看 | 国产精品久久久久婷婷二区次 | 久久色网站| 五月婷婷丁香色 | 亚洲成人国产精品 | 午夜精品剧场 | 午夜精品一区二区三区在线播放 | 日韩欧美视频一区二区三区 | 在线免费看黄网站 | 99久国产| 国产精品无av码在线观看 | 久久亚洲热 | 国产美女网站视频 | 欧美污网站 | 久久久久久国产精品亚洲78 | 亚洲欧洲中文日韩久久av乱码 | 日韩三级一区 | 在线观看视频在线观看 | 日韩高清免费无专码区 | 欧美三级高清 | 国产日产精品一区二区三区四区 | 91免费在线视频 | 黄色片免费看 | 国内精品国产三级国产aⅴ久 | 日韩av偷拍| 亚洲精品视频在线免费播放 | 久久影视一区 | av在线收看 | 亚洲精品视频免费在线观看 | 伊人永久 | 美女黄网站视频免费 | 亚洲国产精品小视频 | 日本中文字幕在线电影 | 久久久久福利视频 | 日本丰满少妇免费一区 | 国产在线播放一区 | 又色又爽又黄高潮的免费视频 | 天天爽天天搞 | 久久久久电影网站 | 播五月综合 | 在线免费av播放 | 午夜电影av | 天天综合亚洲 | 久久久久网址 | 综合精品久久 | 二区三区视频 | 97超碰福利久久精品 | 国产九九九精品视频 | 久久精品视频网 | 午夜91视频 | 人人爽人人 | 国产香蕉97碰碰碰视频在线观看 | 五月天婷婷狠狠 | 欧美精品久久久久久久久久丰满 | 精品国产成人av在线免 | 精品极品在线 | 99精品国产免费久久 | 久久精品99国产精品酒店日本 | 夜夜操天天操 | 精品一区二区精品 | 亚洲福利精品 | 97爱爱爱| 中文字幕成人在线观看 | 永久av免费在线观看 | 午夜精品久久久久久久久久久久久久 | 欧美韩国日本在线 | 精品在线观看一区二区三区 | 日韩av福利在线 | 免费黄色一区 | 欧美成人按摩 | 91麻豆网站 | 色综合天天天天做夜夜夜夜做 | 国产欧美日韩一区 | 丝袜网站在线观看 | 四虎影院在线观看av | av一区在线| 国产伦理一区 | 久久久国产精品人人片99精片欧美一 | 精品中文字幕在线播放 | 久久视频免费在线观看 | 成人永久在线 | 精品国产精品一区二区夜夜嗨 | 国产高清成人在线 | 精品国产一区二区三区久久久久久 | 天天爽夜夜爽人人爽曰av | 狠狠色狠狠色综合日日小说 | 91高清完整版在线观看 | 亚洲va在线va天堂 | 亚洲国产中文在线 | 国产99色 | 日本精品午夜 | 草久热 | 亚洲一区二区三区毛片 | 久久久综合香蕉尹人综合网 | 又大又硬又黄又爽视频在线观看 | 午夜在线资源 | 色在线视频网 | 国产这里只有精品 | 午夜精品久久 | 日本一区二区三区免费观看 | 99久久精品久久久久久动态片 | 久久精品直播 | 超碰在线日韩 | 久久久久久久国产精品 | 久久99亚洲网美利坚合众国 | 国产黄色看片 | 色妞久久福利网 | 免费观看丰满少妇做爰 | 看片的网址 | 91成人网在线 | 最近最新中文字幕 | 久福利| 久久精品专区 | 99久久久久成人国产免费 | 久在线| 亚洲欧美成人在线 | 欧美在线99 | 91亚洲成人| 亚洲精品啊啊啊 | 日韩视频免费观看高清完整版在线 | 国产香蕉97碰碰碰视频在线观看 | 天天草视频 | 99视频精品全国免费 | 欧洲一区二区三区精品 | 久久这里精品视频 | 97福利在线观看 | 久草在线在线视频 | 日本特黄一级片 | 夜夜澡人模人人添人人看 | 免费看片成年人 | av成人动漫 | v片在线看 | 亚洲成人网在线 | 久久试看| 91麻豆精品国产自产 | 四虎国产精品免费观看视频优播 | 最近中文国产在线视频 | 久久av在线播放 | 超碰97av在线| 日韩精品中文字幕有码 | 免费视频99 | 免费久久视频 | 国产资源精品在线观看 | 天天射天天干天天操 | 黄色成人av | av片中文字幕 | 久久综合视频网 | 免费亚洲视频 | 国产高清视频在线免费观看 | 五月婷婷综合在线观看 | av在线免费播放 | 国内成人精品2018免费看 | 欧美性生爱 | 亚洲成人精品久久久 | 国产资源| 亚洲另类xxxx| 亚洲一区二区视频在线 | 久久综合九色综合97_ 久久久 | 日韩经典一区二区三区 | 国产精品2018 | 国色天香永久免费 | 公与妇乱理三级xxx 在线观看视频在线观看 | 免费观看丰满少妇做爰 | 国产精品久久9 | 在线播放国产精品 | 国产一区在线精品 | 美女久久久久久久久久久 | 中文字幕电影高清在线观看 | 亚洲影院国产 | 亚洲人人网| 成人免费一级 | 日韩1级片 | 欧美日韩精品在线观看视频 | 性色av免费在线观看 | 久久久久久久久久亚洲精品 | 深夜精品福利 | 玖玖玖在线观看 | 国产一级黄 | 亚洲另类视频在线观看 | 日本 在线 视频 中文 有码 | 亚洲天天在线日亚洲洲精 | 欧美亚洲精品在线观看 | 国产精品3区 | 色香蕉在线视频 | 91tv国产成人福利 | 国产艹b视频 | 久久精品成人欧美大片古装 | 园产精品久久久久久久7电影 | 久久精品成人欧美大片古装 | 国产无区一区二区三麻豆 | 国产 日韩 在线 亚洲 字幕 中文 | 三三级黄色片之日韩 | 亚洲va男人天堂 | 激情丁香 | 999视频精品 | 国产高清视频免费最新在线 | 婷婷去俺也去六月色 | 日韩成人精品一区二区 | 国内成人精品2018免费看 | 亚洲精色 | 欧美一级电影免费观看 | 久草在线免费电影 | 天天综合天天综合 | 亚洲乱码久久久 | 在线观看免费中文字幕 | 久久久伊人网 | 国产一区在线视频播放 | 粉嫩高清一区二区三区 | 久久草在线免费 | 久久久久久久久福利 | 国产精品成人av在线 | 一区二区三区在线视频111 | 免费日韩 精品中文字幕视频在线 | 国产在线视频资源 | 亚洲理论在线 | 国产91在线 | 美洲 | 国产视频色 | 午夜影院在线观看18 | 一区二区丝袜 | 99在线免费观看 | 国产在线观看不卡 | 久草免费在线观看视频 | 一级欧美一级日韩 | 国产精品一区二区62 | 久久福利小视频 | 蜜桃视频色| 四虎www| 国产亚洲精品久久网站 | 国产精品美女久久久久久网站 | 中文字幕激情 | 97在线资源| 亚洲精品字幕在线 | 成人福利在线播放 | 久久综合久久综合久久综合 | 涩涩成人在线 | 精品亚洲一区二区 | 久久尤物电影视频在线观看 | 一个色综合网站 | 中文字幕一二 | 日韩av免费观看网站 | 国产视频一| 国产在线观看免费观看 | av亚洲产国偷v产偷v自拍小说 | 国产一区二区在线免费视频 | 正在播放国产一区 | 国产一级精品视频 | 国产精品视频内 | 91片黄在线观看动漫 | 91在线看黄 | 精品国产乱码久久久久久久 | 香蕉久久久久久av成人 | 国产一级视屏 | 亚洲人xxx | 国产免费中文字幕 | 日韩欧美一区二区三区黑寡妇 | 中文国产在线观看 | 日韩精品免费一区二区在线观看 | 国产黄色片免费观看 | www.国产在线 | 色欧美成人精品a∨在线观看 | 日韩伦理片一区二区三区 | 九色琪琪久久综合网天天 | 激情 亚洲 | 91九色蝌蚪国产 | 中文在线免费观看 | 亚洲精品国偷自产在线99热 | 麻豆成人在线观看 | 国产成人福利 | 亚洲婷婷免费 | 日韩av成人在线观看 | 91精品国自产在线偷拍蜜桃 | 亚洲精品中文字幕视频 | 久久夜色精品国产欧美乱 | 久久久久这里只有精品 | 人人揉人人揉人人揉人人揉97 | 免费成人在线观看 | 人人澡澡人人 | 国产精品欧美精品 | 美女视频免费精品 | 亚色视频在线观看 | 日日夜夜天天人人 | 久久综合导航 | av观看免费在线 | 伊人五月天 | 黄色大片日本免费大片 | 日本不卡123 | 久久96国产精品久久99软件 | 中文资源在线观看 | 在线免费观看麻豆视频 | 中午字幕在线观看 | 免费电影一区二区三区 | 丁香婷婷激情国产高清秒播 | 亚洲精品资源在线观看 | 中文字幕精品三级久久久 | 91久久一区二区 | 国产资源免费在线观看 | 91中文字幕在线视频 | 人人爽影院 | 日韩av女优视频 | 狠狠色伊人亚洲综合网站野外 | 丁香六月在线观看 | 欧美日韩电影在线播放 | 久久精品视频一 | 国产69精品久久久久久久久久 | 狠狠色狠狠色合久久伊人 | 永久黄网站色视频免费观看w | 久久九九国产精品 | 日本中文在线观看 | 天天操人 | 欧美精品一区在线发布 | 热99在线视频 | 91麻豆精品国产自产在线游戏 | 麻豆你懂的 | 亚洲成人一二三 | 免费看一级黄色大全 | 国产精品久久久久国产a级 激情综合中文娱乐网 | www久久 | 在线国产视频 | 日日夜操 | 免费在线观看一区 | 中文字幕日本特黄aa毛片 | 激情文学综合丁香 | 91理论片午午伦夜理片久久 | 亚洲激情影院 | 色com| 国产 亚洲 欧美 在线 | 黄色av成人在线 | 十八岁以下禁止观看的1000个网站 | 成人国产在线 | 天天曰天天干 | 99精品免费网 | 中文字幕视频三区 | 韩日精品在线 | 在线国产视频观看 | 日韩免费在线播放 | 91精品对白一区国产伦 | av大全在线| 日韩在线视频线视频免费网站 | 99视频在线精品免费观看2 | 在线亚洲免费视频 | 91污污 | 久久99精品久久只有精品 | 久久久在线视频 | 人人干人人艹 | 伊人色综合久久天天网 | av免费网站观看 | 免费精品久久久 | 欧美日韩一区二区三区在线观看视频 | 婷婷丁香在线 | 成人av在线影视 | 免费av大全 | 97超在线视频 | 欧美va天堂va视频va在线 | 91av欧美 | 99久久免费看 | 91片黄在线观看 | 亚洲成人欧美 | 四虎成人免费观看 | 91夫妻视频 | 国产精品久久久久久一二三四五 | 色综合天天干 | 成人免费视频观看 | 久久超碰在线 | 91黄在线看| 亚洲午夜久久久久久久久久久 | 一区二区三区日韩在线 | 激情综合六月 | 免费看的视频 | 91丨九色丨丝袜 | 精品国产免费久久 | 91精品视频一区 | 五月婷婷激情综合 | 五月综合网站 | 综合网欧美 | 久久国产电影院 | 国产一二区在线观看 | 草久中文字幕 | 国产成人精品一区二区三区福利 | 色偷偷中文字幕 | 五月婷婷激情网 | 免费日韩 精品中文字幕视频在线 | 九九免费观看全部免费视频 | 亚洲 欧美 综合 在线 精品 | av天天澡天天爽天天av | 久久国内免费视频 | 免费在线精品视频 | 奇米四色影狠狠爱7777 | 国产99久久精品一区二区300 | bbb搡bbb爽爽爽| 国产麻豆精品在线观看 | 亚洲成人资源 | 狠狠操夜夜操 | 国产手机在线观看 | 久久天| www黄免费 | 91精品播放| 国产成年免费视频 | 在线免费日韩 | 国产区网址 | 久久免费在线观看视频 | 国产资源网 | 美女在线免费视频 | 精品亚洲免费视频 | 夜夜躁日日躁狠狠久久88av | 久久九九影视 | 久久免费国产精品1 | 色资源网免费观看视频 | 国产日韩精品一区二区三区 | 91社区国产高清 | 国产精品免费观看久久 | 丰满少妇对白在线偷拍 | 中文字幕免费中文 | 国产成人精品亚洲 | 亚洲欧美国产精品va在线观看 | 很黄很色很污的网站 | 91高清不卡 | 成人午夜电影久久影院 | 国产黄色观看 | 久久久国产精品电影 | 91麻豆福利 | 久久久久成 | av大片免费看 | 亚洲最快最全在线视频 | 国产精品一区二区三区在线免费观看 | 色婷婷狠狠18 | 国产夫妻av在线 | 国产精品一区在线播放 | 午夜123 | 日本99热 | 探花国产在线 | 天天操夜夜拍 | 黄色字幕网 | 91在线porny国产在线看 | 亚洲色图激情文学 | 国产一级二级在线观看 | 日韩av一区二区在线影视 | 国产区免费 | 99久久精品久久久久久动态片 | 日韩中文在线视频 | 丁香网五月天 | 婷婷激情5月天 | 男女免费av | 国内精品久久久久久久97牛牛 | 狠狠色狠狠综合久久 | 免费激情网 | 国产亚洲在线 | 亚洲国产精品电影 | av福利免费 | 久久成人欧美 | 欧美成人黄色片 | 美女视频是黄的免费观看 | 欧美在线视频a | 久久成人国产精品入口 | 久久免费大片 | 欧美亚洲精品一区 | 精品一区久久 | 国产视频每日更新 | 波多野结衣小视频 | 亚洲国产欧洲综合997久久, | 欧美日韩亚洲在线 | 少妇搡bbbb搡bbb搡忠贞 | 国产精品久久久久久久久久 | 久久人人97超碰国产公开结果 | 国产免费成人 | 综合久久五月天 | 九九99靖品 | 成人a毛片 | 亚洲午夜精品福利 | 色五月成人 | 国产一区电影在线观看 | 91精品夜夜 | 久草精品视频在线播放 | 久久综合五月天 | 日韩电影在线观看一区二区三区 | 天天色草| 日韩欧美高清不卡 | 国产91免费在线观看 | 午夜精品一区二区三区在线观看 | 欧美精品久久久久久久免费 | 青青河边草手机免费 | 99在线免费视频观看 | 国产精品一区二区三区免费看 | 欧美日韩中文在线观看 | 2023国产精品自产拍在线观看 | 久久综合九色99 | 黄色软件网站在线观看 | 久久免费av电影 | 日韩精品第一区 | 久草在线资源免费 | 一区二区三区在线观看 | 日韩欧美在线一区二区 | 国内精品久久久久影院日本资源 | 在线观看视频91 | 久久99精品久久只有精品 | 免费av 在线 | 99免费精品视频 | 成人黄色电影在线播放 | 国产精品久久久久久久99 | 91久久在线观看 | 91成人免费看片 | 免费黄在线看 | 国产无套一区二区三区久久 | 国产无吗一区二区三区在线欢 | 狠狠狠色丁香婷婷综合久久88 | 奇米先锋 | 日本精品xxxx | 免费观看完整版无人区 | 97精品电影院 | 337p日本欧洲亚洲大胆裸体艺术 | 91免费高清 | 夜夜爽天天爽 | av动态图片 | 久久欧洲视频 | 亚洲 中文 欧美 日韩vr 在线 | 国产精品私人影院 | 久久不射网站 | 视频国产一区二区三区 | 久久久久 | 欧美精品久久久久久久久免 | 在线成人观看 | 亚洲精品裸体 | 91av原创| 久久伊人综合 | 成人av日韩 | 欧美大片www| 五月婷婷六月丁香激情 | 在线观看aa | 亚洲欧洲精品一区二区精品久久久 | 亚洲综合小说 | 天天搞天天干 | 久久成人亚洲欧美电影 | 91av手机在线 | 久久精品视频3 | 欧美激情一区不卡 | 国产一区二区在线视频观看 | 亚洲精品小视频 | 激情综合五月 | 日韩高清激情 | 欧美视屏一区二区 | 亚洲第一av在线 | 亚洲最新在线 | 久久精品五月 | 亚洲国产中文字幕在线观看 | www.夜色.com| 91综合视频在线观看 | 91亚洲精品乱码久久久久久蜜桃 | 日韩av免费大片 | 日韩国产欧美在线播放 | 久久视频在线观看中文字幕 | 91亚洲永久精品 | 青青河边草观看完整版高清 | 大片网站久久 | 不卡电影一区二区三区 | 国产精品久久久久高潮 | 免费在线观看亚洲视频 | 国产视频一区二区在线 | 手机av在线不卡 | 欧美99热 | 天天爽夜夜爽精品视频婷婷 | 久久精品国产久精国产 | 国产精品一区二区免费在线观看 | 午夜av影院 | 国产99久久精品 | av网址在线播放 | 国产精品中文字幕av | 一区免费视频 | 国产精品久久久久免费 | 91麻豆精品国产91久久久无限制版 | 一区二区三区 中文字幕 | 亚洲 中文 在线 精品 | 欧美91成人网 | 日韩高清黄色 | 激情视频区 | 日本久久久影视 | 国产精品18久久久久久首页狼 | 久久婷五月| 免费av高清| 97夜夜澡人人双人人人喊 | 视频一区二区国产 | 国产一级黄色av | www色综合| 欧美一级视频在线观看 | 成人精品999| 免费福利片2019潦草影视午夜 | 热精品| 欧美日韩国产伦理 | 婷婷九月丁香 | 免费在线观看毛片网站 | 亚洲自拍av在线 | 色婷婷激情综合 | 国产成人免费 | 欧美激情视频一区二区三区 | 国产精品永久在线观看 | 亚洲欧美精品一区二区 | 亚洲国产高清在线观看视频 | 国产一级特黄电影 | 久久人人艹 | 丰满少妇在线观看资源站 | 一区二区三区四区精品 | 久久午夜网 | www.com在线观看| 国产在线视频一区二区三区 | 欧美日韩在线网站 | 二区三区中文字幕 | 免费网站看v片在线a | 成人网在线免费视频 | 日韩一区二区三区在线看 | 日韩二区在线播放 | 久草 | 久久久久女教师免费一区 | 91精品国产综合久久福利 | 91福利区一区二区三区 | 色成人亚洲网 | 精品国精品自拍自在线 | 免费看国产曰批40分钟 | 久久久久久久久久亚洲精品 | 亚洲码国产日韩欧美高潮在线播放 | 亚洲精品美女久久久 | 在线播放亚洲激情 | 国产精品99精品久久免费 | 一区二区中文字幕在线观看 | 国产精品美女网站 | 97视频免费观看 | 免费视频 三区 | 亚洲精品国产精品国自 | av在线日韩 | 免费在线激情电影 | wwwwwww黄| 1区2区视频 | 国产精品女教师 | 91爱爱中文字幕 | 亚洲区另类春色综合小说 | 碰超人人| 天天爽天天碰狠狠添 | 久久av不卡| 亚洲欧美激情精品一区二区 | 亚洲精品在线网站 | 国产成人精品一区二区三区福利 | 国产视频1区2区3区 久久夜视频 | 日韩a在线 | 国产精品99久久久久久武松影视 | 在线观看韩日电影免费 | 午夜影院一级片 | 久久人人爽人人人人片 | 国产免费观看高清完整版 | 国产精品无| 中文日韩在线 | 久久精彩免费视频 | 狠狠色狠狠色综合系列 | 亚洲国产影院 | 免费在线观看亚洲视频 | 色噜噜狠狠狠狠色综合 | www.日日日.com | 四虎永久免费网站 | 中文字幕电影一区 | 国产精品高| 高清av免费看| 久久久不卡影院 | 黄色影院在线观看 | 亚洲自拍自偷 | 久青草国产在线 | 久艹在线免费观看 | 婷婷久久综合九色综合 | 精品日韩中文字幕 | 国产黄色精品在线 | 国产美女主播精品一区二区三区 | 天天舔夜夜操 | 一级免费看视频 | 日韩免费看| 激情久久久久久久久久久久久久久久 | 色综合天天天天做夜夜夜夜做 | 久久天天躁狠狠躁夜夜不卡公司 | 日韩在线欧美在线 | 国产在线1区 | 狠狠色伊人亚洲综合成人 | 国产亚洲成av人片在线观看桃 | 人人玩人人添人人 | 五月天高清欧美mv | 一级黄色在线免费观看 | 久久久免费高清视频 | 伊色综合久久之综合久久 | 久久夜色精品国产欧美乱极品 | 99国产在线观看 | 国产精品av在线免费观看 | 国产精品a成v人在线播放 | 成人91免费视频 | 成年人app网址 | 免费精品久久久 | 福利视频一二区 | 99久久婷婷国产综合亚洲 | 青草视频在线 | 天天爱天天草 | 欧美99热 | 91av蜜桃| 久久久久免费精品视频 | 天堂在线视频免费观看 | 99色国产 | 久久久久综合视频 | 黄色大片视频网站 | 视频三区 | 久久久久综合 | 国产精品涩涩屋www在线观看 | 久久久免费电影 | 一区在线播放 | 国产精品久久久久一区 | 激情久久伊人 | 少妇bbw搡bbbb搡bbbb | 国产精品欧美一区二区 | 亚洲综合色视频在线观看 | 日韩偷拍精品 | 久草色在线观看 | 国产午夜av | 成人在线观看影院 | 久久亚洲私人国产精品 | 成人av在线电影 | 国产亚洲无| 午夜精品一区二区三区在线观看 | 女人18精品一区二区三区 | 国内精品久久久久影院男同志 | 最新av中文字幕 |