日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android 游戏开发 View框架

發布時間:2023/12/31 Android 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android 游戏开发 View框架 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

按鍵盤的上下鍵矩形就會上下移動;

通過實例化Handler對象并重寫handkeMessage方法實現了一個消息接收器。然后再線程中通過sendMessage方法發送更新界面的消息,接收器收到更新界面的消息時便執行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;//發送消息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框架的全部內容,希望文章能夠幫你解決所遇到的問題。

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