中文字幕二区_国产精品免费在线观看_黄色网站观看_人人草人人澡_日本真实娇小xxxx

您的位置: 首頁(yè) > 技術(shù)文檔 > 多媒體制作 > Flash 中響應(yīng)鍵盤的一般方法
解決Flash影片中的圖片抖動(dòng)鋸齒 回到列表 Macromedia 新聞與文章閱讀器
 Flash 中響應(yīng)鍵盤的一般方法

作者:龍族酷少 時(shí)間: 2005-04-14 文檔類型:原創(chuàng) 來(lái)自:閃客帝國(guó)

這些是以前整理的,現(xiàn)在發(fā)上來(lái),希望對(duì)新手有所幫助……響應(yīng)鍵盤的方法作為AS中的一個(gè)重要組成部分,在如今已經(jīng)越來(lái)越廣泛使用,尤其是在 FLASH游戲制作中,如果缺少了響應(yīng)鍵盤的方法,那是不可能的,而響應(yīng)鍵盤的方法也就是 主要的四種,分別是:

 1、利用按鈕進(jìn)行檢測(cè)
2、利用KEY對(duì)象
3、利用鍵盤偵聽的方法
4、利用影片剪輯的keyUp和keyDown事件來(lái)實(shí)現(xiàn)響應(yīng)鍵盤

只有熟練掌握了這些方法,然后加以變通的話,就會(huì)得到很多意想不到的效果, 下面我就結(jié)合理論和自己的想法簡(jiǎn)要的介紹一下。

第一種響應(yīng)鍵盤的方法:利用按鈕進(jìn)行檢測(cè)來(lái)實(shí)現(xiàn)響應(yīng)鍵盤在按鈕的on事件處理函數(shù)中不但可以對(duì)鼠標(biāo)事件作出響應(yīng),而且可以對(duì)鍵盤事件作出響應(yīng)。 如在按鈕的動(dòng)作面板中加入如下所示的代碼,在敲擊鍵盤上的X鍵時(shí)輸出窗口中將提示: X is pressed
在按鈕上加上:

on (keyPress "x") {
trace("X is pressed");
}

但是要注意的是:檢測(cè)鍵盤上的字母鍵時(shí),字母都應(yīng)為小寫。如果要檢測(cè)鍵盤中的特殊鍵, Flash中有一些專門的代碼來(lái)表示它們,下面列出了一些常用的功能鍵的表示代碼:

<Left> <Right> <Up> <Down> <Space <Home> <End> <Insert> <PageUp> <PageDown><Enter> <Delete> <Backspace> <Tab> <Escape>

如要檢測(cè)鍵盤上的<Left>鍵,可以使用下面的ActionScript:

on (keyPress "<Left>") {
trace("Left is pressed");
}

  另外,你可以在一個(gè)按鈕中加入若干個(gè)on函數(shù),也可以在一個(gè)on函數(shù)中結(jié)合多種事件,這使 您可以為按鈕定義自己熟悉常用的快捷鍵,如下所示:

on (release, keyPress "<Left>") {
 _root.myMC.prevFrame();
}
on (release, keyPress "<Right>") {
 _root.myMC.nextFrame();
}

上面的第一個(gè)語(yǔ)句實(shí)現(xiàn)單擊按鈕或按鍵盤上的左方向鍵,控制影片剪輯myMC回退1幀,而上面的第二個(gè)語(yǔ)句實(shí)現(xiàn)單擊按鈕或按鍵盤上的右方向鍵,控制影片剪輯myMC前進(jìn)1幀。

最后給出實(shí)例原文件:方法1.fla

方法二

第二種響應(yīng)鍵盤的方法:利用Key對(duì)象來(lái)實(shí)現(xiàn)響應(yīng)鍵盤的操作

利用按鈕檢測(cè)按鍵動(dòng)作很有效,但是并不利于檢測(cè)持續(xù)按下的鍵,所以不適合于制作某些通過(guò)鍵盤控制的游戲。

這時(shí),您就需要用到Key對(duì)象。Key對(duì)象包含在動(dòng)作面板的“對(duì)象”/“影片”目錄下面,它由Flash內(nèi)置的一系列方法、常量和函數(shù)構(gòu)成。使用Key對(duì)象可以檢測(cè)某個(gè)鍵是否被按下,如要檢測(cè)左方向鍵是否被按下,可以使用如下ActionScript:

 if (Key.isDown(Key.LEFT)) {
trace("The left arrow is down");
}

函數(shù)Key.isDown返回一個(gè)布爾值,當(dāng)該數(shù)中的參數(shù)對(duì)應(yīng)的鍵被按下時(shí)返回true,否則返回false。常量Key.LEFT代表鍵盤上的左方向鍵。當(dāng)左方向鍵被按下時(shí),該函數(shù)返回true。
Key對(duì)象中的常量代表了鍵盤上相應(yīng)的鍵,下面列出了一些基本的常量:
一些功能鍵的表示:
Key.BACKSPACE Key.ENTER Key.PGDN
Key.CAPSLOCK Key.ESCAPE Key.RIGHT
Key.CONTROL Key.HOME Key.SHIFT
Key.DELETEKEY Key.INSERT Key.SPACE
Key.DOWN Key.LEFT Key.TAB
Key.END Key.PGUP Key.UP
以上是鍵盤上的功能鍵,那么如何表示鍵盤上的字母鍵呢?
Key對(duì)象提供了一個(gè)函數(shù)Key.getCode來(lái)實(shí)現(xiàn)這一功能,如下所示:

if (Key.isDown(Key.getCode("x"))) {
trace("X is pressed");
}

上面腳本的意思就是,利用Key.getCode函數(shù)來(lái)告訴系統(tǒng)你是否按下了x鍵,如果按下了x鍵以后,函數(shù)Key.isDown則會(huì)返回true,在輸出窗口就會(huì)輸出X is pressed。

最后給出實(shí)例原文件:方法2.fla

方法三

第三種響應(yīng)鍵盤的方法:利用鍵盤偵聽的方法來(lái)實(shí)現(xiàn)響應(yīng)鍵盤(個(gè)人習(xí)慣用這種方法)

假設(shè)在影片剪輯的onClipEvent(enterFrame)事件處理函數(shù)中檢測(cè)按鍵動(dòng)作,而影片剪輯所在的時(shí)間軸較長(zhǎng),或計(jì)算機(jī)運(yùn)算速度較慢,就有可能出現(xiàn)這種情況:即當(dāng)在鍵盤上按下某個(gè)鍵時(shí)還未來(lái)得及處理onClipEvent(enterFrame)函數(shù),那么按鍵動(dòng)作將被忽略,這樣的話,很多你想要的效果就會(huì)無(wú)法實(shí)現(xiàn)了。

另外,還有一個(gè)需要解決的問(wèn)題就是,在某些游戲(如射擊)中,我們需要按一次鍵就執(zhí)行一次動(dòng)作(發(fā)射一發(fā)子彈),即使長(zhǎng)時(shí)間按住某個(gè)鍵不放也只能算作一次按鍵,而Key對(duì)象并不能區(qū)別是長(zhǎng)時(shí)間按住同一個(gè)鍵還是快速地多次按鍵。

所以如果要解決這個(gè)問(wèn)題,就需要用到鍵盤偵聽的方法。你可以使用 “偵聽器(listener)”來(lái)偵聽鍵盤上的按鍵動(dòng)作。
要使用偵聽器之前,首先需要?jiǎng)?chuàng)建它,你可以使用如下所示的命令來(lái)告訴計(jì)算機(jī)你需要偵聽某個(gè)事件:

Key.addListener(_root);

Key.addListener命令將 主時(shí)間軸 或 某個(gè)影片剪輯 作為它的參數(shù),當(dāng)偵聽的事件發(fā)生時(shí),可以用這個(gè)參數(shù)指定的對(duì)象來(lái)響應(yīng)該事件。
上面的代碼指定主時(shí)間軸來(lái)響應(yīng)該事件。要讓主時(shí)間軸對(duì)該事件作出響應(yīng),還需要設(shè)置一個(gè)相應(yīng)的事件處理函數(shù),否則設(shè)置偵聽器就沒有什么意義了。
鍵盤偵聽的事件處理函數(shù)有兩個(gè):onKeyUp和onKeyDown,如下所示:

Key.addListener(_root);
_root.onKeyUp = function() {
trace(Key.getAscii());
};

//代碼的意思是,當(dāng)按下一個(gè)鍵并釋放后,輸出窗口將輸出你按下的那個(gè)鍵的Ascii碼
當(dāng)然,你也可以使用影片剪輯作為偵聽鍵盤的對(duì)象,只需要使用影片剪輯的路徑代替_root作為Key.addListener命令的參數(shù)就可以了。
比如下面代碼:

Key.addListener(_root.mc);
_root.mc.onKeyUp = function() {
trace(Key.getAscii());
};

//代碼的意思是,當(dāng)按下一個(gè)鍵并釋放后,輸出窗口將輸出你按下的那個(gè)鍵的Ascii碼,意思差不多,但是鍵盤偵聽對(duì)象不同,一個(gè)是影片mc,一個(gè)是主時(shí)間軸。

最后給出實(shí)例原文件:方法3.fla

方法四

第四種響應(yīng)鍵盤的方法:利用影片剪輯的keyUp和keyDown事件來(lái)實(shí)現(xiàn)響應(yīng)鍵盤

最后一種方法很容易被忽視,但是也有一定的應(yīng)用價(jià)值,最重要的是把概念弄清楚。
影片剪輯包含兩個(gè)與鍵盤相關(guān)的事件keyUp和keyDown,使用它們也可以實(shí)現(xiàn)對(duì)按鍵事件的響應(yīng)
例如下面的代碼:

onClipEvent (keyDown) {
trace(Key.getAscii());
}

//當(dāng)按下鍵盤上的一個(gè)鍵的時(shí)候,輸出窗口將輸出按下的這個(gè)鍵的Ascii碼值。

函數(shù)Key.getAscii表示返回與按鍵相對(duì)應(yīng)的ASCII碼,其中 ASCII碼是一個(gè)整數(shù),鍵盤上的每個(gè)字符對(duì)應(yīng)一個(gè)ASCII碼,如字母A對(duì)應(yīng)的ASCII碼為65,B對(duì)應(yīng)的ASCII碼為66,a對(duì)應(yīng)的ASCII碼為97, b對(duì)應(yīng)的ASCII碼為98,+ 對(duì)應(yīng)的ASCII碼為43等。需要注意的是:只有字符鍵才有ASCII碼,鍵盤上的功能鍵是沒有ASCII碼的。

如果我想在輸出窗口中輸出與按鍵相對(duì)應(yīng)的字符,那怎么辦?
這時(shí)候,你可以使用String對(duì)象的fromCharCode函數(shù)將ASCII碼轉(zhuǎn)換成字符,如將上例的代碼改成如下所示:

onClipEvent (keyDown) {
trace(String.fromCharCode(Key.getAscii()));
};

//意思就是說(shuō),當(dāng)按下鍵盤的一個(gè)鍵,輸出按下的這個(gè)鍵相對(duì)應(yīng)的字符,當(dāng)然除了功能鍵。

關(guān)于String對(duì)象的詳細(xì)解釋,大家可以查看動(dòng)作面板的“對(duì)象”/“核心”目錄下面。

最后給出實(shí)例原文件:方法4.fla

出處:閃客帝國(guó)
責(zé)任編輯:藍(lán)色

◎進(jìn)入論壇Flash專欄版塊參加討論

作者文章
Flash 中響應(yīng)鍵盤的一般方法
FLASH中響應(yīng)鍵盤事件的四種方法
關(guān)鍵字搜索 常規(guī)搜索 推薦文檔
熱門搜索:CSS Fireworks 設(shè)計(jì)比賽 網(wǎng)頁(yè)制作 web標(biāo)準(zhǔn) 用戶體驗(yàn) UE photoshop Dreamweaver Studio8 Flash 手繪 CG
站點(diǎn)最新 站點(diǎn)最新列表
周大福“敬•自然”設(shè)計(jì)大賽開啟
國(guó)際體驗(yàn)設(shè)計(jì)大會(huì)7月將在京舉行
中國(guó)國(guó)防科技信息中心標(biāo)志征集
云計(jì)算如何讓安全問(wèn)題可控
云計(jì)算是多數(shù)企業(yè)唯一擁抱互聯(lián)網(wǎng)的機(jī)會(huì)
阿里行云
云手機(jī)年終巨獻(xiàn),送禮標(biāo)配299起
阿里巴巴CTO王堅(jiān)的"云和互聯(lián)網(wǎng)觀"
1499元買真八核 云OS雙蛋大促
首屆COCO桌面手機(jī)主題設(shè)計(jì)大賽
欄目最新 欄目最新列表
淺談JavaScript編程語(yǔ)言的編碼規(guī)范
如何在illustrator中繪制臺(tái)歷
Ps簡(jiǎn)單繪制一個(gè)可愛的鉛筆圖標(biāo)
數(shù)據(jù)同步算法研究
用ps作簡(jiǎn)單的作品展示頁(yè)面
CSS定位機(jī)制之一:普通流
25個(gè)最佳最閃亮的Eclipse開發(fā)項(xiàng)目
Illustrator中制作針線縫制文字效果
Photoshop制作印刷凹凸字體
VS2010中創(chuàng)建自定義SQL Rule

藍(lán)色理想版權(quán)申明:除部分特別聲明不要轉(zhuǎn)載,或者授權(quán)我站獨(dú)家播發(fā)的文章外,大家可以自由轉(zhuǎn)載我站點(diǎn)的原創(chuàng)文章,但原作者和來(lái)自我站的鏈接必須保留(非我站原創(chuàng)的,按照原來(lái)自一節(jié),自行鏈接)。文章版權(quán)歸我站和作者共有。

轉(zhuǎn)載要求:轉(zhuǎn)載之圖片、文件,鏈接請(qǐng)不要盜鏈到本站,且不準(zhǔn)打上各自站點(diǎn)的水印,亦不能抹去我站點(diǎn)水印。

特別注意:本站所提供的攝影照片,插畫,設(shè)計(jì)作品,如需使用,請(qǐng)與原作者聯(lián)系,版權(quán)歸原作者所有,文章若有侵犯作者版權(quán),請(qǐng)與我們聯(lián)系,我們將立即刪除修改。

您的評(píng)論
用戶名:  口令:
說(shuō)明:輸入正確的用戶名和密碼才能參與評(píng)論。如果您不是本站會(huì)員,你可以注冊(cè) 為本站會(huì)員。
注意:文章中的鏈接、內(nèi)容等需要修改的錯(cuò)誤,請(qǐng)用報(bào)告錯(cuò)誤,以利文檔及時(shí)修改。
不評(píng)分 1 2 3 4 5
注意:請(qǐng)不要在評(píng)論中含與內(nèi)容無(wú)關(guān)的廣告鏈接,違者封ID
請(qǐng)您注意:
·不良評(píng)論請(qǐng)用報(bào)告管理員,以利管理員及時(shí)刪除。
·尊重網(wǎng)上道德,遵守中華人民共和國(guó)的各項(xiàng)有關(guān)法律法規(guī)
·承擔(dān)一切因您的行為而直接或間接導(dǎo)致的民事或刑事法律責(zé)任
·本站評(píng)論管理人員有權(quán)保留或刪除其管轄評(píng)論中的任意內(nèi)容
·您在本站發(fā)表的作品,本站有權(quán)在網(wǎng)站內(nèi)轉(zhuǎn)載或引用
·參與本評(píng)論即表明您已經(jīng)閱讀并接受上述條款
推薦文檔 | 打印文檔 | 評(píng)論文檔 | 報(bào)告錯(cuò)誤  
專業(yè)書推薦 更多內(nèi)容
網(wǎng)站可用性測(cè)試及優(yōu)化指南
《寫給大家看的色彩書1》
《跟我去香港》
眾妙之門—網(wǎng)站UI 設(shè)計(jì)之道
《Flex 4.0 RIA開發(fā)寶典》
《贏在設(shè)計(jì)》
犀利開發(fā)—jQuery內(nèi)核詳解與實(shí)踐
作品集 更多內(nèi)容

雜⑦雜⑧ Gold NORMANA V2