Android 游戏开发 View框架
生活随笔
收集整理的這篇文章主要介紹了
Android 游戏开发 View框架
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
按鍵盤的上下鍵矩形就會上下移動;
通過實例化Handler對象并重寫handkeMessage方法實現(xiàn)了一個消息接收器。然后再線程中通過sendMessage方法發(fā)送更新界面的消息,接收器收到更新界面的消息時便執(zhí)行invalidate方法更新屏幕顯示。
?
package com.yarin.android.TestOnView;import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.view.View;public class GameView extends View {int miCount = 0;int y = 0;public GameView(Context context){super(context);}public void onDraw(Canvas canvas){if (miCount < 100){miCount++;}else{miCount = 0;}//繪圖Paint mPaint = new Paint(); switch (miCount%4){case 0:mPaint.setColor(Color.BLUE); break;case 1:mPaint.setColor(Color.GREEN); break;case 2:mPaint.setColor(Color.RED); break;case 3:mPaint.setColor(Color.YELLOW); break;default:mPaint.setColor(Color.WHITE); break;}//繪制矩形canvas.drawRect((320-80)/2, y, (320-80)/2+80, y+40, mPaint);} }上面是用來繪制界面的,我們還需要一個類來控制應用的操作
?
package com.yarin.android.TestOnView;import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.KeyEvent; import android.view.MotionEvent;public class ControlView extends Activity {private static final int REFRESH = 0x000001;private GameView mGameView = null;@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);this.mGameView = new GameView(this);// 設置顯示為我們自定義的View(GameView)setContentView(mGameView);// 開啟線程new Thread(new GameThread()).start();}Handler myHandler = new Handler(){//接收到消息后處理public void handleMessage(Message msg){switch (msg.what){case ControlView.REFRESH:mGameView.invalidate();break;}super.handleMessage(msg);} };class GameThread implements Runnable{public void run(){while (!Thread.currentThread().isInterrupted()){Message message = new Message();message.what = ControlView.REFRESH;//發(fā)送消息Activity01.this.myHandler.sendMessage(message);try{Thread.sleep(100);}catch (InterruptedException e){Thread.currentThread().interrupt();}}}}//當然這些事件也可以寫在GameView中//觸筆事件public boolean onTouchEvent(MotionEvent event){return true;}//按鍵按下事件public boolean onKeyDown(int keyCode, KeyEvent event){return true;}//按鍵彈起事件public boolean onKeyUp(int keyCode, KeyEvent event){switch (keyCode){//上方向鍵case KeyEvent.KEYCODE_DPAD_UP:mGameView.y-=3;break;//下方向鍵case KeyEvent.KEYCODE_DPAD_DOWN:mGameView.y+=3;break;}return false;}public boolean onKeyMultiple(int keyCode, int repeatCount, KeyEvent event){return true;} }總結
以上是生活随笔為你收集整理的Android 游戏开发 View框架的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 投资方式有几种类型
- 下一篇: 各大银行大额存单利率2022最新,各银行