国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

實例解析Flex鍵盤事件簡單應用

開發 后端
你對Flex鍵盤事件的處理是否熟悉,本文通過一個鍵盤控制的小飛機,來說明在FLEX中對Flex鍵盤事件的監聽和響應處理。

本文和大家重點討論一下Flex鍵盤事件簡單應用,從最古老的計算機開始,鍵盤就是其最重要的輸入組成部分。對Flex鍵盤事件的響應處理一直是界面編程最重要的組成部分。

Flex鍵盤事件簡單應用――用鍵盤控制的小飛機

從最古老的計算機開始,鍵盤就是其最重要的輸入組成部分。對Flex鍵盤事件的響應處理一直是界面編程最重要的組成部分。本示例通過一個鍵盤控制的小飛機,來說明在FLEX中對Flex鍵盤事件的監聽和響應處理。

編程思路

每個游戲首先就得有自己的運行場景(背景),我們使用Canvas作為小飛機運行的容器。小飛機直接由一個Sprite類型對象繪制得到(通過載入圖形可以獲得更漂亮的元件)。當上下左右鼠標被點擊時,根據Flex鍵盤事件提供的鍵碼,相應Flex鍵盤事件,移動小飛機元件在容器中的坐標,獲得飛機移動的效果。當接近容器的邊界時,不允許作把元件移出容器的動作,所以需要一個方法checkBoundary在元件移動前判斷移動是否是合法的。提供一個方法resume,讓元件能隨時回到其初始位置。
 
程序代碼

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()"> 
  3.        <mx:Canvas id="canvas" x="128" y="49" width="271" height="313" backgroundColor="#d8e9e9" borderColor="#000000" borderStyle="solid"> 
  4.        </mx:Canvas> 
  5.        <mx:Label id="lblMsg" x="128" y="27" text="鼠標點擊一下屏幕開始" width="271"/> 
  6.               <mx:Script> 
  7.               <![CDATA[  
  8.               import flash.events.KeyboardEvent;                 
  9.  
  10.               private var plane:Sprite;          
  11.         private function init():void  
  12.  
  13.         {               //程序的初始化  
  14.  
  15.                loadPlane();  
  16.                resume();  
  17.                this.canvas.addEventListener(MouseEvent.CLICK,setCanvasFocus);  
  18.                this.canvas.addEventListener(KeyboardEvent.KEY_DOWN,planeMove);  
  19.         }  
  20.         private function checkBoundary(direction:int):Boolean  
  21.         {  
  22.                //檢查邊界條件  
  23.  
  24.                switch(direction)  
  25.                {  
  26.                       case 37:  //左  
  27.                       return (plane.x>5);  
  28.  
  29.                       case 38:  //上  
  30.                       return (plane.y>5);  
  31.                       case 39:  //右  
  32.                       return (plane.x< canvas.width-40);  
  33.                       case 40:  //下  
  34.                       return (plane.y<canvas.height-40);  
  35.                }  
  36.                return false;  
  37.         }  
  38.  
  39.         private function planeMove(e:KeyboardEvent):void  
  40.         {  
  41.  
  42.                //通過鍵盤上下左右鍵移動飛機  
  43.                var keycode:int=e.keyCode;  
  44.                if(e.shiftKey && keycode==72)  
  45.                {  
  46.                       resume();//回到起點  
  47.                }  
  48.                if(!checkBoundary(keycode))  
  49.                {  
  50.                       return;  
  51.                }  
  52.  
  53.                switch(keycode)  
  54.                {  
  55.  
  56.                       case 37:  
  57.  
  58.                       plane.x-=5;  
  59.  
  60.                       break;  
  61.  
  62.                       case 38:  
  63.  
  64.                       plane.y-=5;  
  65.  
  66.                       break;  
  67.  
  68.                       case 39:  
  69.  
  70.                       plane.x+=5;  
  71.  
  72.                       break;  
  73.  
  74.                       case 40:  
  75.  
  76.                       plane.y+=5;  
  77.  
  78.                       break;  
  79.                }  
  80.  
  81.         }  
  82.         private function setCanvasFocus(e:MouseEvent):void  
  83.  
  84.         {  
  85.                //設置焦點  
  86.  
  87.                this.canvas.setFocus();  
  88.  
  89.                this.lblMsg.text="用上下左右鍵控制飛機移動...";  
  90.  
  91.         }  
  92.  
  93.         private function loadPlane():void  
  94.         {  
  95.                //繪制飛機  
  96.  
  97.                plane=new Sprite();  
  98.  
  99.                var g:Graphics=plane.graphics;  
  100.  
  101.                      g.clear();  
  102.  
  103.                      g.lineStyle(4,0x000000,1);  
  104.  
  105.                      g.moveTo(16,0);  
  106.  
  107.                      g.lineTo(16,32);  
  108.  
  109.                      g.moveTo(16,16);  
  110.  
  111.                      g.lineTo(4,24);  
  112.  
  113.                      g.moveTo(16,16);  
  114.  
  115.                      g.lineTo(28,24);  
  116.  
  117.                      g.moveTo(16,32);  
  118.  
  119.                      g.lineTo(10,36);  
  120.  
  121.                      g.moveTo(16,32);  
  122.  
  123.                      g.lineTo(22,36);  
  124.  
  125.                      g.moveTo(0,0);  
  126.  
  127.                      //把飛機添加到屏幕中  
  128.  
  129.                this.canvas.rawChildren.addChild(plane);  
  130.          }  
  131.  
  132.         private function resume():void  
  133.         {  
  134.  
  135.                //設置飛機的初始位置  
  136.                plane.x=canvas.width/2-16;  
  137.                plane.y=canvas.height-40;  
  138.         }  
  139.               ]]> 
  140.  
  141.        </mx:Script>               
  142.  
  143. </mx:Application>   
  144.  

 知識要點

1:Flex鍵盤事件分兩類KeyboardEvent.KEY_DOWN,KeyboardEvent.KEY_UP,分別對應鍵盤的按下和彈起事件;

2:通過查看Flex鍵盤事件參數的keyCode可以知道用戶按的是那個按鈕,能后作出對應的響應;

3:還可以通過查看Flex鍵盤事件參數的shiftKey,ctrlKey屬性值,獲得用戶是否同時按下了一些輔助功能鍵;

4:對象要獲得焦點后才能響應Flex鍵盤事件,這是新手很容易忽視的問題。

【編輯推薦】

  1. Flex鍵盤事件的監聽機制
  2. Flex鍵盤事件注意事項
  3. 技術前沿 看Flex客戶端緩存技術如何使用
  4. 12個Flex常用功能代碼再現
  5. 學習筆記 Flex國際化如何支持其他語言

 

責任編輯:佚名 來源: csdn.net
相關推薦

2010-08-02 09:43:00

Flex應用

2010-07-29 10:27:30

Flex鍵盤事件

2010-07-29 10:33:59

Flex鍵盤事件

2010-08-06 10:03:42

Flex事件

2010-08-04 13:23:29

Flex事件

2010-08-09 11:14:36

Flex事件處理

2010-08-09 15:52:28

2010-08-06 10:24:56

Flex事件分發

2010-08-04 15:12:54

Flex開發

2010-08-12 13:59:37

FlexList控件

2010-08-04 14:02:08

Flex事件機制

2009-09-03 16:27:57

ASP.NET回車事件

2010-07-27 10:58:46

Flex

2010-08-13 14:05:24

Flex事件機制

2010-07-30 14:32:50

Flex應用

2009-09-03 16:38:49

C#回車鍵事件

2017-02-21 12:20:20

Android事件分發機制實例解析

2010-07-30 14:58:06

Flex應用

2010-07-26 14:06:43

Perl substr

2010-07-02 09:45:19

UML部署圖
點贊
收藏

51CTO技術棧公眾號

精品亚洲美女网站| 92看片淫黄大片欧美看国产片| 天堂社区在线视频| 国产剧情一区在线| 久久精品国产精品国产精品污| 最新国产精品视频| 中文字幕亚洲欧美日韩2019| а天堂中文在线官网| 亚洲成人在线网站| 欧美r片在线| 国产欧美视频一区二区| 99热这里只有精品7| 亚洲女同同性videoxma| 不卡视频一区二区三区| 91欧美大片| 国产精品99一区| 免费成人网www| 97在线看免费观看视频在线观看| 国产成人免费视频网站视频社区| 中文字幕综合一区| 麻豆久久久久| 久久最新资源网| av国产精品| 久久中文字幕在线| 一区二区三区亚洲变态调教大结局| 久久韩剧网电视剧| 激情不卡一区二区三区视频在线| 美女国内精品自产拍在线播放| а天堂中文最新一区二区三区| 国产一区二区日韩精品欧美精品| 国产超碰精品| 久久99精品久久久久久青青91| 亚洲免费一区三区| 日韩av电影国产| 国内精品福利| 亚洲在线视频一区二区| 国产精品亚洲人在线观看| 国产肉体ⅹxxx137大胆| 国产91色综合久久免费分享| 一卡二卡三卡视频| 欧美国产日产图区| 日本午夜视频| 欧美日本不卡视频| 在线看的毛片| 97精品一区二区视频在线观看| 国产精品三级| 国产自产精品| 国产成人免费视频| 中文字幕网av| 色域天天综合网| 欧美aa在线| 97热在线精品视频在线观看| 99精品电影| 在线视频不卡国产| 国产亚洲精品福利| 国模精品一区二区| 亚洲精品美女久久久| 日韩欧美另类中文字幕| 国产精品日韩一区| 久久久久网站| 91免费视频网站在线观看| 一区二区三区中文免费| 欧美成人性生活视频| 伊人久久综合97精品| 欧美日韩一二| 亚洲 欧洲 日韩| 亚洲免费在线电影| 91在线三级| 欧美做受高潮电影o| 亚洲精品裸体| 一本大道熟女人妻中文字幕在线| 亚洲成人av中文| 永久免费毛片在线播放| 国产精品久久久久久久久久99 | 欧美日韩中文字幕综合视频| av网址在线播放| 97欧美精品一区二区三区| 国产一区二区高清| 亚洲激情在线观看视频| 在线成人av影院| 大陆精大陆国产国语精品| 国产精品日韩一区二区免费视频| 丁香五精品蜜臀久久久久99网站 | 中文字幕在线播放| 久久精品亚洲一区| 噜噜噜91成人网| www.久草| 在线观看日韩欧美| 国产一区观看| 三级黄色的网站| 亚洲人成电影在线播放| 天天影视欧美综合在线观看| 免费国产a级片| 91精品国产综合久久精品图片 | 在线播放色视频| 日韩网站免费观看| 先锋影音久久| 四虎精品成人影院观看地址| 欧美猛交免费看| 久久精品国产精品亚洲综合| 中国动漫在线观看完整版免费| 色av中文字幕一区| 天堂精品中文字幕在线| 男女小视频在线观看| 中文字幕亚洲欧美在线| 国产精品久久国产愉拍| 国产美女在线播放| 欧美精品在线观看| 国产一区91精品张津瑜| 69视频在线观看| 成人精品久久久| 1024成人网色www| 精品欧美视频| 日本a级片在线播放| 欧美精品一二三四| 亚洲精品成人无限看| 久久小说免费下载| 欧美黑人性生活视频| 成人免费高清在线| 亚洲精品福利电影| 中文字幕制服丝袜在线| 欧美xxxxxxxx| 日韩精品每日更新| 日本在线视频网址| 午夜精品一区二区在线观看 | 国产片在线观看| 国产精品电影网站| 国产丝袜美腿一区二区三区| 成人开心激情| 久久视频免费在线| 日韩国产精品一区| 蜜臀久久久久久久| av影视在线| 亚洲精品偷拍视频| 在线视频国产日韩| av男人天堂一区| 精品国产乱码久久久久久樱花| 国产在线精品91| 欧美日韩福利电影| 亚洲欧美在线高清| 日本道不卡免费一区| 中文字幕在线第一页| 国产日韩欧美在线播放| 一本久久综合亚洲鲁鲁五月天| 天天色综合色| 高清免费电影在线观看| 一区不卡字幕| 精品国偷自产在线视频99| 久久午夜老司机| 亚洲动漫在线观看| 日韩国产福利| 欧美日产一区二区三区在线观看| 欧美一区二区三区四区久久| 看国产成人h片视频| 国产成人精品一区二区三区在线| 日日碰狠狠添天天爽超碰97| 久久精品国产精品| 日本一区二区三区高清不卡 | 日韩视频精品在线观看| 二区三区在线观看| 欧美 国产 精品| 欧美黑人国产人伦爽爽爽| 1区2区3区精品视频| 天天射综合网视频| 福利在线视频网站| 免费在线观看亚洲视频| 7777免费精品视频| 日本道精品一区二区三区| 国产欧美日韩一级| 日韩精品一区二区三区av| av五月天在线| 国产精品私拍pans大尺度在线| 精品视频一区三区九区| 国产中文一区二区三区| 91蝌蚪精品视频| 国产在线视频你懂得| 亚洲一区二区免费视频软件合集 | 亚洲一区二区三区四区| 亚洲欧美日韩综合网| 国产原创欧美精品| 日韩精品中文字幕在线观看| 久久久久国产一区二区三区四区 | 久久九九国产| 免费一级欧美在线大片| 亚洲男人都懂的网站| 亚洲伊人婷婷| 国模精品系列视频| 7777精品伊人久久久大香线蕉的| 国产精品中文字幕一区二区三区| 成人性生交大片免费看96| 久草在现在线| 国产精品秘入口18禁麻豆免会员 | 一区二区三区四区高清视频| 美州a亚洲一视本频v色道| 久久久久久av无码免费网站下载| 国产aⅴ夜夜欢一区二区三区 | 国产三级在线免费| 免费男同深夜夜行网站| 国内不卡一区二区三区| 欧美日韩爱爱视频|