刮刮樂小遊戲

2021-08-09 02:53:26 字數 1829 閱讀 2740

package com.bwie.ggl;

import android.content.context;

import android.graphics.bitmap;

import android.graphics.bitmapfactory;

import android.graphics.canvas;

import android.graphics.color;

import android.graphics.paint;

import android.graphics.path;

import android.graphics.porterduff;

import android.graphics.porterduffxfermode;

import android.util.attributeset;

import android.view.motionevent;

/*** description: $

todo$

* autour: blueamer

* date: $date$ $time$

* update: $date$

* version: $version$

*/ private static final string tag = "scratchtextview";

private bitmap mbitmap;//

蓋在字上面的

private canvas mcanvas; //

畫線的畫布

private paint mpaint;//

劃線的畫筆

private path mpath;//

線private float

mx, my;

private float

touch_tolerance;

private boolean

isinited = false;//

用於判斷時候覆蓋了

textview

的文字public ggl(context context)

public ggl(context context, attributeset attrs)

public ggl(context context, attributeset attrs, int defstyleattr)

//ondraw

初始化的時候呼叫一次,然

invalidate()

的時候呼叫,

@override

protected void ondraw(canvas canvas)

}/**

* 初始化刮刮卡**

@param

bgcolor

刮刮卡背景色,用於蓋住下面的字

* @param

paintstrokewidth

擦除線寬

* @param

touchtolerance

畫線容差

*/public void initscratchcard(final int bgcolor, final int paintstrokewidth, float touchtolerance)

//該觸膜事件可以定義在呼叫的

activity

中實現@override

public boolean ontouchevent(motionevent event)

switch (event.getaction())

}return true;

}}

總結canvas刮刮樂遊戲

1.刮了圖層後顯示隨機的背景圖,設計滑鼠抬起移動放下事件 2.利用新舊畫素合併的時候被擦掉 ctx.globalcompositeoperation destination out 3.快速移動會出現斷點,那就直接讓兩邊落下的地方連成線 4.利用getimagedata這個方法獲得裡面的data,d...

刮刮樂canvas實現

class scratch config this.movenum 0 this.clearrange clearrange 2 this.canvasid canvasid this.radius radius 25 this.canvas this.canvasid this.ifend fal...

canvas 實現刮刮樂

在解決問題前,我們先來了解一下 canvas 標籤 canvas 是 html5 出現的新標籤,像所有的 dom 物件一樣它有自己本身的屬性 方法和事件,其中就有繪圖的方法,js 能夠呼叫它來進行繪圖。context是乙個封裝了很多繪圖功能的物件,獲取這個物件的方法是 var canvas docu...