亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 辦公 > Flash > 正文

Flash AS 教程:交互動畫

2020-07-17 13:19:33
字體:
來源:轉載
供稿:網友
交互動畫
最后介紹一下交互動畫,這也許是大家讀這本書的主要原因。如果不使用交互運動,那么只使用補間動畫不就行了。在前面一章簡單地提到過,用戶交互動畫基于用戶事件,總的來說可以歸結為鼠標事件和鍵盤事件,下面就來學習不同的用戶事件及其處理函數。
鼠標事件
AS 3 中鼠標事件發生了顯著的變化。在 AS 2 中,影片剪輯會自動添加鼠標偵聽器?,F在,要手動地為對象添加偵聽器。在 AS 3 中鼠標指針經過顯示對象時才能觸發鼠標事件。在 AS 2 中,無論鼠標指針在哪里,只要執行 mouseDown 或 mouseMove 就會觸發所有的影片剪輯。而現在, mouseUp 和 mouseDown 事件與 AS 2 中的 onPress 和 onRelase 等同。鼠標事件的名稱是定義好的字符串,像我們之前所提到的,最好使用 MouseEvent 類的屬性,以避免輸入錯誤,下面是 MouseEvent 類中所有可用的鼠標事件屬性:
CLICK
DOUBLE_CLICK
MOUSE_DOWN
MOUSE_MOVE
MOUSE_OUT
MOUSE_OVER
MOUSE_UP
MOUSE_WHEEL
ROLL_OUT
ROLL_OVER
創建下面這個類,來測試一下,這個類會輸出發生在 Sprite 影片上的鼠標事件名稱。
package {
import flash.display.Sprite;
import flash.events.MouseEvent;
public class MouseEvents extends Sprite {
public function MouseEvents() {
init();
}
private function init():void {
var sprite:Sprite = new Sprite();
addChild(sprite);
sprite.graphics.beginFill(0xff0000);
sprite.graphics.drawCircle(0, 0, 50);
sprite.graphics.endFill();
sprite.x = stage.stageWidth / 2;
sprite.y = stage.stageHeight / 2;
sprite.addEventListener(MouseEvent.CLICK, onMouseEvent);
sprite.addEventListener(MouseEvent.DOUBLE_CLICK,onMouseEvent);
sprite.addEventListener(MouseEvent.MOUSE_DOWN,onMouseEvent);
sprite.addEventListener(MouseEvent.MOUSE_MOVE,onMouseEvent);
sprite.addEventListener(MouseEvent.MOUSE_OUT,onMouseEvent);
sprite.addEventListener(MouseEvent.MOUSE_OVER,onMouseEvent);
sprite.addEventListener(MouseEvent.MOUSE_UP,onMouseEvent);
sprite.addEventListener(MouseEvent.MOUSE_WHEEL,onMouseEvent);
sprite.addEventListener(MouseEvent.ROLL_OUT,onMouseEvent);
sprite.addEventListener(MouseEvent.ROLL_OVER,onMouseEvent);
}
public function onMouseEvent(event:MouseEvent):void {
trace(event.type);
}
}
}
請注意,每個事件類型都使用了同一個處理函數,輸出所觸發的事件類型的名稱。
鼠標位置
除了鼠標事件外,對于文檔類還有兩個非常重要屬性用于表示鼠標當前的位置:mouseX 和 mouseY。請注意,影片剪輯的位置,返回的值是鼠標的位置與影片剪輯的注冊點的相對位置。例如,有一個名為 sprite 的 Sprite 影片,在舞臺的 100,100 位置,而鼠標的位置在 150,250,你會得到如下結果:
mouseX 為 150
mousey 為 250
sprite.mouseX 為 50
sprite.mouseY 為 150
請注意鼠標位置與影片位置的相對關系。
鍵盤事件
鍵盤事件已被 AS 3 劃分到另一個區域中。例如,在 AS 2 中,影片剪輯會自動偵聽鍵盤事件,但只在某種情況下才接收這些事件。所以,最好增加一個專門用來做偵聽器的影片剪輯,有時,影片剪輯接收了多個事件但被看作是一個鍵盤事件,這樣就不對了。在 AS 2 的組成框架中,很大部一部分都是為鍵盤交互服務的,比如 Flash Player 體系中的:tab(table)管理,焦點(focus)管理及在文本框中對于 Enter 鍵與 Table 鍵的處理等?,F在好了,鍵盤事件的名稱與鼠標事件的相似,都是定義好的字符串,也可為 KeyboardEvent 類的屬性。只有兩種:
KEY_DOWN
KEY_UP
我們可以在一個特殊的對象上偵聽鍵盤事件,就像上面那個鼠標偵聽的例子一樣。為了實現這個功能,我們需要設置對象的焦點,以便能夠捕獲這些事件,可以這樣寫:
stage.focus = sprite;
在很多情況下,偵聽鍵盤事件是否有焦點很有意義,實現它只需直接對舞臺進行鍵盤偵聽。下面看一個示例:
package {
import flash.display.Sprite;
import flash.events.KeyboardEvent;
public class KeyboardEvents extends Sprite {
public function KeyboardEvents() {
init();
}
private function init():void {
stage.addEventListener(KeyboardEvent.KEY_DOWN,onKeyboardEvent);
stage.addEventListener(KeyboardEvent.KEY_UP,onKeyboardEvent);
}
public function onKeyboardEvent(event:KeyboardEvent):void {
trace(event.type);
}
}
}
鍵碼
通常人們并不關心一個鍵是否被按下,而是關心按下的是什么鍵。使用鍵盤事件處理有幾種方法可以讀取輸入的信息。前面說到,一個事件處理程序可以由一個事件對象來觸發,該對象包括觸發這個事件的數據。在鍵盤事件中有兩個相關的屬性,事件所涉及的鍵:字符碼(charCode)和鍵碼(keyCode)。
字符碼指按下的鍵所表示的真正字符。例如,用戶按下”a”鍵,字符碼就是”a”,如果用戶同時又按著 shift 鍵,這樣字符碼就是”A”。
鍵碼指按鍵所代表的數值。如果用戶按下”a”鍵,它所對應的鍵碼為 65,無論是否按著其它鍵。如果先按下Shift鍵后按下“a”鍵,那么會獲得兩個鍵盤事件,先是Shift(鍵碼 16)后是 a(鍵碼 65)。 Flash.ui.Keyboard 類同樣也有一些屬性是針對非字母鍵的,我們不需要把它們背下來。例如: Keyboard.SHIFT 等于16,當 Shift 鍵按下后,可以測試其是否等于 Keyboard.SHIFT。請本章的最后一段代碼:
package {
import flash.display.Sprite;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;
public class KeyCodes extends Sprite {
private var ball:Sprite;
public function KeyCodes() {
init();
}
private function init():void {
ball = new Sprite();
addChild(ball);
ball.graphics.beginFill(0xff0000);
ball.graphics.drawCircle(0, 0, 40);
ball.graphics.endFill();
ball.x = stage.stageWidth / 2;
ball.y = stage.stageHeight / 2;
stage.addEventListener(KeyboardEvent.KEY_DOWN,onKeyboardEvent);
}
public function onKeyboardEvent(event:KeyboardEvent):void {
switch (event.keyCode) {
case Keyboard.UP :
ball.y -= 10;
break;
case Keyboard.DOWN :
ball.y = 10;
break;
case Keyboard.LEFT :
ball.x -= 10;
break;
case Keyboard.RIGHT :
ball.x = 10;
break;
default :
break;
}
}
}
}
當我們在 Flash 編輯環境下測試影片時,IDE會攔截用于控制 IDE 自身的鍵。Tab 鍵和所有功能鍵以及作為快捷菜單項的鍵,在測試影片時不會接收到。不過,我們可以在菜單中選擇“控制” -> “禁用快捷鍵”,來解除限制。這樣一來,測試的影片就像在瀏覽器中工作一樣了。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产午夜精品美女视频明星a级| 欧美激情a∨在线视频播放| 欧美成人中文字幕在线| 亚洲国产欧美久久| 日韩亚洲成人av在线| 欧美日韩亚洲视频| 92裸体在线视频网站| 欧美激情成人在线视频| 国产视频久久久久| 中文字幕亚洲无线码在线一区| 国产精品∨欧美精品v日韩精品| 国产偷亚洲偷欧美偷精品| 在线成人一区二区| 亚洲欧美综合区自拍另类| 国产美女久久精品香蕉69| 亚洲二区中文字幕| 日韩中文字幕在线观看| 国产自摸综合网| 国产成人精品在线视频| 国产精品久久久久9999| 成人久久久久久久| 国产一区二区三区视频免费| 国外日韩电影在线观看| 69精品小视频| 久久成人一区二区| 在线不卡国产精品| 国产又爽又黄的激情精品视频| 黄色一区二区在线| 日韩成人av在线| 国产精品吹潮在线观看| 国产精品福利无圣光在线一区| 在线观看不卡av| 欧日韩在线观看| 在线国产精品播放| 午夜精品蜜臀一区二区三区免费| 欧美第一淫aaasss性| 国产精品99久久久久久人| 国产免费观看久久黄| 国产亚洲一区二区精品| 日本久久久a级免费| 中文字幕精品在线视频| 日韩成人xxxx| 中文字幕av日韩| 国产精品av在线| 亚洲美女性视频| 97国产精品视频人人做人人爱| 精品国产视频在线| 欧美色视频日本高清在线观看| 亚洲精品视频在线观看视频| 国产精品免费久久久久影院| 欧美在线激情视频| 在线观看国产欧美| 成人动漫网站在线观看| 91精品久久久久久久| 日产精品久久久一区二区福利| 亚洲国产日韩欧美综合久久| 在线国产精品视频| 国产日韩欧美电影在线观看| 日韩中文字幕在线观看| 欧美激情第一页xxx| 国产精品日韩欧美大师| 久久天天躁狠狠躁老女人| 中文字幕精品www乱入免费视频| 亚洲精品日韩av| 日韩在线观看av| 亚洲级视频在线观看免费1级| 国产免费一区二区三区香蕉精| 久久久久久久爱| 亚洲欧美日韩中文视频| 国产精品久久久久久久久免费看| 91久久精品在线| 亚洲欧洲一区二区三区久久| 国产精品夜间视频香蕉| 久久久免费电影| 国产精品久在线观看| 国产精品91在线| 国内精品久久久久久久久| 51精品国产黑色丝袜高跟鞋| 最近2019中文免费高清视频观看www99| 欧美成人免费网| 欧美午夜精品久久久久久人妖| 中文字幕视频一区二区在线有码| 亚洲一级黄色av| 2019日本中文字幕| 国产欧美日韩免费| 成人中文字幕+乱码+中文字幕| 欧美乱大交xxxxx另类电影| 欧美日韩第一视频| 国产精品色视频| 国产精品亚洲一区二区三区| 国产欧美日韩丝袜精品一区| 欧美国产乱视频| 亚洲精品国精品久久99热一| 欧美在线视频网站| 亚洲图片欧美日产| 国产成人精品电影| 久久久黄色av| 精品日韩中文字幕| 国产成人精品免费久久久久| 秋霞成人午夜鲁丝一区二区三区| 亚洲乱码一区二区| 国产视频久久久久久久| 亚洲男人天堂网站| 日韩日本欧美亚洲| 92看片淫黄大片欧美看国产片| 欧美成人亚洲成人日韩成人| 国产亚洲欧美日韩美女| 69av在线视频| 国产精品视频一区国模私拍| 91精品国产91久久久久久| 成人国产在线激情| 亚洲最大av在线| 欧美一级电影在线| 91手机视频在线观看| 久久韩国免费视频| 久久精品视频在线| 日韩美女主播视频| 伊人久久综合97精品| 久久精品人人做人人爽| 国产精品美女久久久免费| 欧美网站在线观看| 美女撒尿一区二区三区| 久久久久亚洲精品成人网小说| yw.139尤物在线精品视频| 欧美日韩激情网| 欧美亚洲日本黄色| 欧美激情伊人电影| 欧美精品videossex88| 亚洲视频一区二区| 国产有码在线一区二区视频| 久久成人精品电影| 91大神福利视频在线| 欧美日韩黄色大片| 日韩av一卡二卡| 久久视频中文字幕| 久久精品中文字幕一区| 久久久天堂国产精品女人| 亚洲人午夜色婷婷| 中文字幕视频一区二区在线有码| 成人精品一区二区三区电影免费| 国产精品wwww| 久久亚洲精品一区| 国产欧美一区二区三区四区| 国产精品海角社区在线观看| 久久手机精品视频| 亚洲男人天堂2019| 欧美日本国产在线| 免费av在线一区| 久久成人精品电影| 日韩成人av一区| 国产精品久久久久7777婷婷| 97视频在线观看免费| 夜夜嗨av一区二区三区免费区| 欧美激情喷水视频| 久久成人一区二区| 69久久夜色精品国产69| 亚洲男人天堂九九视频| 不卡av在线播放| 亚洲自拍偷拍区| 欧美华人在线视频| 亚洲欧美制服综合另类| 国产精品久久婷婷六月丁香| 成人夜晚看av| 91精品综合视频|