成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

AIR Android:使用TouchEvent類(2)

移動(dòng)開發(fā) Android
處理用戶交互,本模塊主要介紹了多點(diǎn)觸摸相關(guān)功能的用法,包括觸摸和手勢(shì)。處理用戶交互是AIR Android開發(fā)的基礎(chǔ)部分,只有設(shè)計(jì)合理、用戶操作符合邏輯的交互,才能增強(qiáng)程序的用戶體驗(yàn)。因此,熟練掌握常見的交互手法至關(guān)重要。本文為大家介紹使用TouchEvent類。

使用TouchEvent類(2)

由于有監(jiān)聽舞臺(tái)stage的Touch事件,因此只要觸摸屏幕上任何一點(diǎn),Touch事件都將觸發(fā),并在觸摸點(diǎn)處畫一個(gè)圓。請(qǐng)注意,拖拽的實(shí)現(xiàn)并沒有使用Flash開發(fā)者熟悉的startDrag方法,而是Sprite類新增的startTouchDrag方法,該方法代碼如下:

  1. startTouchDrag(touchPointID:int, lockCenter:Boolean = false,  
  2. bounds:Rectangle = null):void 

 

和startDrag相比,***的區(qū)別是多了一個(gè)參數(shù)touchPointID,而touchPointID只在支持觸摸行為的設(shè)備上工作,因此startTouchDrag也只能在觸摸設(shè)備上使用。相對(duì)應(yīng)的,結(jié)束拖拽時(shí)使用stopTouchDrag方法,代碼如下:

  1. stopTouchDrag(touchPointID:int):void 

在結(jié)束拖拽時(shí)也必須輸入touchPointID,以保證是針對(duì)同一個(gè)觸摸點(diǎn)的動(dòng)作。

因?yàn)槟M器不支持觸摸事件,所以使用觸摸事件的程序必須在真機(jī)上運(yùn)行才能看到效果,如圖3-1所示。

運(yùn)行TouchEventEx程序,有兩個(gè)手指觸摸屏幕上任意兩處,保持觸摸并移動(dòng)手指,兩個(gè)圓將跟隨手指移動(dòng)。在本例中,程序主類繼承了AppBase,并重寫了init方法,實(shí)際上,這將是后面所有實(shí)例代碼的模板。在AppBase類中定義了所有程序通用的屬性以及結(jié)構(gòu),完整代碼如下:

  1. package  
  2. {  
  3.  import flash.display.Sprite;  
  4.  import flash.display.StageAlign;  
  5.  import flash.display.StageScaleMode;  
  6.  import flash.events.Event;  
  7.    
  8.  /**  
  9.   * 程序基類,定義了舞臺(tái)屬性  
  10.   */  
  11.  public class AppBase extends Sprite  
  12.  {    
  13.     
  14.   public function AppBase():void  
  15.   {  
  16.    //定義舞臺(tái)的對(duì)齊方式和縮放模式  
  17.    stage.align = StageAlign.TOP_LEFT;  
  18.    stage.scaleMode = StageScaleMode.NO_SCALE;  
  19.  
  20.    init();  
  21.   }  
  22.     
  23.   /**  
  24.    * 程序入口,所有程序都重寫init方法,在此添加自己的邏輯  
  25.    */  
  26.   protected function init():void  
  27.   {  
  28.    //在這里添加代碼  
  29.   }  
  30.  }  

 

 
圖3-1 在真機(jī)上的運(yùn)行效果

AppBase類位于公用代碼庫library中,定義了舞臺(tái)的對(duì)齊方式和縮放模式。將scaleMode設(shè)置為StageScaleMode.NO_SCALE,舞臺(tái)尺寸即為屏幕的實(shí)際尺寸。StageAlign.TOP_LEFT表示舞臺(tái)內(nèi)容頂部居左對(duì)齊,這兩行代碼的作用是為了讓程序能夠適應(yīng)設(shè)備的屏幕尺寸,從而依據(jù)舞臺(tái)對(duì)象的stageWidth和stageHeight對(duì)界面上的元素進(jìn)行布局和定位。比如在上一章中,我們讓棋盤在屏幕居中顯示的代碼為:

  1. grid_container.x = (stage.stageWidth - grid_container.width) / 2; 

類AppBase為后面所有的例子程序定義了統(tǒng)一的運(yùn)行流程,將init方法作為程序初始化的入口,每個(gè)例子程序的主類會(huì)繼承AppBase類,并且重寫init方法。

使用這樣方式后,一些常用的代碼塊被提取出來放在基類中,被所有的子類共用,同時(shí)也提高了程序的靈活性。在后續(xù)的開發(fā)中,如果有需要,可以在AppBase基類中加入更多的方法,這樣所有的程序都可以共享。

責(zé)任編輯:閆佳明 來源: book.51cto.com
相關(guān)推薦

2013-05-14 11:01:34

AIR AndroidTouchEvent類

2013-05-14 10:16:35

Android開發(fā)主類Main

2013-05-14 10:13:52

Android開發(fā)主類Main

2013-05-14 10:23:31

Android開發(fā)主類Main

2013-05-14 09:50:44

Android開發(fā)Flash Build

2013-05-09 13:45:47

2013-05-03 15:17:59

Android開發(fā)Android SDK

2013-05-14 11:18:24

AIR AndroidSwipe手勢(shì)

2011-06-16 10:25:29

AndroidAIR

2013-05-14 10:41:31

2013-05-14 09:57:37

2013-05-14 10:27:46

Android開發(fā)設(shè)置程序?qū)傩?/a>

2013-05-14 10:37:10

AIR Android設(shè)置訪問權(quán)限

2013-05-14 11:16:26

AIR Android旋轉(zhuǎn)手勢(shì)

2013-05-14 10:39:27

AIR Android打包APK文件

2013-05-14 10:56:45

AIR Android多點(diǎn)觸摸

2011-11-17 17:04:43

AdobeAIRAndroid

2013-05-14 10:05:10

Android開發(fā)游戲設(shè)計(jì)

2013-05-14 10:10:28

Android開發(fā)棋子類Grid

2012-03-09 13:26:53

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 亚洲第一天堂 | 欧美一区二区视频 | av天天操| 欧美日韩视频一区二区 | 成人在线亚洲 | 免费看av大片 | 四虎影院在线播放 | 精品欧美激情在线观看 | 亚洲成人精品一区 | 高清黄色网址 | 播放一级毛片 | 日产精品久久久一区二区福利 | 亚洲精品不卡 | 国产丝袜人妖cd露出 | 久久久www成人免费无遮挡大片 | 91高清在线视频 | www国产精品| 男女羞羞网站 | 国产精品日韩在线观看一区二区 | 欧美一级毛片久久99精品蜜桃 | 免费a国产 | 久久久久久久综合 | 国产精品视频网 | 成av在线| 久草免费视 | 色播视频在线观看 | 成人妇女免费播放久久久 | 欧美精品一区在线发布 | 国产一级电影网 | 亚洲成人免费av | 亚洲图片视频一区 | www.亚洲一区二区三区 | 九色在线视频 | 国精日本亚洲欧州国产中文久久 | 国产精品久久久久久久久久免费 | 综合久久av | zzzwww在线看片免费 | 日韩精品中文字幕一区二区三区 | 亚洲精品在线视频 | 男女免费观看在线爽爽爽视频 | 亚洲精品免费看 |