《笑脸游戏view界面》由会员分享,可在线阅读,更多相关《笑脸游戏view界面(8页珍藏版)》请在金锄头文库上搜索。
1、package .face;import java.util.Random;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.Rect;import android.view.MotionEvent;import and
2、roid.view.Surface;import android.view.SurfaceHolder;import android.view.SurfaceView;public class FaceView extends SurfaceView implements SurfaceHolder.Callback / final int GOODS_RICE=0,GOODS_COFFEE=1,GOODS_WATERMELON=2,GOODS_BOMB=3;final int FACE_STATE_SMILE=0,FACE_STATE_REFUSE=1;Bitmap mBitmapFaceS
3、mile,mBitmapFaceRefuse,mBitmapFaceLose;Bitmap mBitmapGoods = new Bitmap4; /index 0:绫抽僉锛?锛氬挅鍟仛紝2锛氳僞鑔滐紱3锛氱偢椌?SurfaceHolder mHolder;int mSw,mSh;int mBitSide;int mGrade;int mLife=3;int m_x1,m_x2,m_x3;int m_y;float mSpend=15;Paint p;Paint mPaintGrade;MAIN mMain;public FaceView(Context context,int _screen
4、Width,int _screenHeight) super(context);mMain =(MAIN) context;/ TODO Auto-generated constructor stubmSw=_screenWidth;mSh=_screenHeight;init();Overridepublic void surfaceChanged(SurfaceHolder holder, int format, int width,int height) / TODO Auto-generated method stubnew Thread(mRunnable).start();Over
5、ridepublic void surfaceCreated(SurfaceHolder holder) / TODO Auto-generated method stubOverridepublic void surfaceDestroyed(SurfaceHolder holder) / TODO Auto-generated method stubmIs_run=false;Face face_1,face_2,face_3;Goods mGoods_1,mGoods_2;void init()p= new Paint();p.setColor(Color.WHITE);mPaintGr
6、ade = new Paint();mPaintGrade.setColor(Color.BLACK);mPaintGrade.setTextSize(30);lodingImage();initLocation();mHolder = getHolder();mHolder.addCallback(this);face_1= new Face(m_x1,m_y);face_2= new Face(m_x2,m_y);face_3= new Face(m_x3,m_y);mGoods_1 = new Goods();mGoods_2 = new Goods();void lodingImage
7、()mBitmapFaceSmile =BitmapFactory.decodeResource(getResources(), R.drawable.face_smile);mBitmapFaceRefuse =BitmapFactory.decodeResource(getResources(), R.drawable.face_refuse);mBitmapFaceLose =BitmapFactory.decodeResource(getResources(), R.drawable.face_lose);mBitmapGoods0=BitmapFactory.decodeResour
8、ce(getResources(), R.drawable.goods_rice);mBitmapGoods1=BitmapFactory.decodeResource(getResources(), R.drawable.goods_coffee);mBitmapGoods2=BitmapFactory.decodeResource(getResources(), R.drawable.goods_watermelon);mBitmapGoods3=BitmapFactory.decodeResource(getResources(), R.drawable.goods_bomb);mBit
9、Side =mBitmapFaceSmile.getWidth();void initLocation()int part =(mSw-3*mBitSide)/4;m_x1 =part;m_x2 =2*part+mBitSide;m_x3 =3*part+2*mBitSide;m_y =mSh-2*mBitSide;int goodsNum;void drawGame(Canvas c)c.drawRect(0,0,480,800, p);face_1.drawFace(c);face_2.drawFace(c);face_3.drawFace(c);mGoods_1.drawGoods(c)
10、;goodsNum+;if(goodsNum=13)mGoods_2.drawGoods(c);drawGrade(c);drawLife( c);setSend();boolean mIs_addSpend;public void setSend()if(mGrade%20=0&mGrade!=0)mIs_addSpend =true;if(mIs_addSpend)mSpend+=0.2f;mIs_addSpend =false;void drawGrade(Canvas c)c.drawText(鐩 墠鍒嗘暟=+mGrade, 0, 80, mPaintGrade);void drawL
11、ife(Canvas c)c.drawText(鐢熷懡=+mLife, 0, 150, mPaintGrade);void setFace_1_State()if(face_1.getFaceState()=FACE_STATE_SMILE)face_1.setFaceState(FACE_STATE_REFUSE);elseface_1.setFaceState(FACE_STATE_SMILE);void setFace_2_State()if(face_2.getFaceState()=FACE_STATE_SMILE)face_2.setFaceState(FACE_STATE_REF
12、USE);elseface_2.setFaceState(FACE_STATE_SMILE);void setFace_3_State()if(face_3.getFaceState()=FACE_STATE_SMILE)face_3.setFaceState(FACE_STATE_REFUSE);elseface_3.setFaceState(FACE_STATE_SMILE); Overridepublic boolean onTouchEvent(MotionEvent e) / TODO Auto-generated method stubfloat x=e.getX();float
13、y=e.getY();if(e.getAction()=MotionEvent.ACTION_DOWN)if(ym_y&yface_1.face_x&xface_2.face_x&xface_3.face_x&x=m_y-mGoodsY)mGoodsMove=0;judge();createGoods();private void judge()switch(mKindFace)case 1:if(face_1.getFaceState()=FACE_STATE_SMILE&goodsIndex=3)|(face_1.getFaceState()=FACE_STATE_REFUSE&goods
14、Index!=3)mLife-;else mGrade+;break;case 2:if(face_2.getFaceState()=FACE_STATE_SMILE&goodsIndex=3)|(face_2.getFaceState()=FACE_STATE_REFUSE&goodsIndex!=3)mLife-;else mGrade+;break;case 3:if(face_3.getFaceState()=FACE_STATE_SMILE&goodsIndex=3)|(face_3.getFaceState()=FACE_STATE_REFUSE&goodsIndex!=3)mLife-;else mGrade+;break;if(mLife=0)mMain.mHandler.sendEmptyMessage(MAIN.STATE_GAMEOVER);