04 Android 植物人大战僵尸-卡片的触摸事件
生活随笔
收集整理的這篇文章主要介紹了
04 Android 植物人大战僵尸-卡片的触摸事件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 第一層觸摸事件-Activty
public class MainActivity extends Activity {@Overridepublic boolean onTouchEvent(MotionEvent event) {return mGameView.onTouchEvent(event);}2. 第二層觸摸事件-GameView
public class GameView extends SurfaceView implements SurfaceHolder.Callback, Runnable {@Overridepublic boolean onTouchEvent(MotionEvent event) {for (BaseModel model : gameLayout2) {// 是否實現了TouchAble接口if (model instanceof TouchAble) {// 事件傳遞給具體卡片if (((TouchAble) model).onTouch(event)) {// true 表示觸摸事件到此為止不再響應return true;}}}return false;}3. 第三層觸摸事件-具體卡片
public class SeedFlower extends BaseModel implements TouchAble {// 觸摸區域private Rect touchArea;public SeedFlower(int locationX, int locationY) {this.locationX = locationX;this.locationY = locationY;this.isLive = true;touchArea = new Rect(locationX, locationY, locationX + Config.seedFlower.getWidth(), locationY + Config.seedFlower.getHeight());}@Overridepublic boolean onTouch(MotionEvent event) {int x = (int) event.getX();int y = (int) event.getY();// x,y坐標是否在觸摸區域if (touchArea.contains(x, y)) {Log.d("sufadi", "touch seed flower");return true;}return false;}4. 觸摸事件響應
D/sufadi (20255): touch seed flower5. Demo下載
https://github.com/sufadi/BotanyWarZombies
總結
以上是生活随笔為你收集整理的04 Android 植物人大战僵尸-卡片的触摸事件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JS中如何设置背景图片?
- 下一篇: 系统分析与设计方法---用户界面设计的原