欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Flash AS 實(shí)例進(jìn)階 鍵值捕獲實(shí)現(xiàn)代碼

  發(fā)布時(shí)間:2013-03-13 23:53:39   作者:佚名   我要評(píng)論
這里介紹的是通過(guò)判斷獲取的鍵控代碼值來(lái)實(shí)現(xiàn)鍵盤控制,還是老套路,使用一個(gè)這樣的實(shí)例,這是去年作的一個(gè)練習(xí), 就叫距離產(chǎn)生美吧

  Flash 動(dòng)畫的交互性是通過(guò)鼠標(biāo)和鍵盤進(jìn)行,前面的章節(jié)講的都是鼠標(biāo)控制,本節(jié)開(kāi)始接觸鍵盤控制,響應(yīng)鍵盤的方法有幾種,但歸根結(jié)底可以用一句通俗的話概括,就是程序運(yùn)行中,發(fā)現(xiàn)哪個(gè)鍵被按下了,并執(zhí)行相應(yīng)的動(dòng)作,這里介紹的是通過(guò)判斷獲取的鍵控代碼值來(lái)實(shí)現(xiàn)鍵盤控制,還是老套路,使用一個(gè)這樣的實(shí)例,這是去年作的一個(gè)練習(xí), 就叫距離產(chǎn)生美吧。

  源文件下載

  點(diǎn)擊查看動(dòng)畫效果<實(shí)例2-9 鍵盤控制

  基本思路

  ① 主場(chǎng)景中放置 2 個(gè)保持一定距離的 MC 。

  ②再放置一個(gè)空 MC 用來(lái)寫腳本,當(dāng)然,也可以寫到前面的 MC 實(shí)例上,這樣是便于閱讀和理解腳本。

 ?、郯聪?uarr;↓←→鍵兩個(gè) MC 都向同方向運(yùn)動(dòng),并始終保持固定的距離和前后關(guān)系,還要保持朝向和移動(dòng)的方向的一致

 ?、茉O(shè)定邊線,不向線外運(yùn)動(dòng)。

  ⑤松開(kāi)按鍵,兩 MC 保持原始方向。

  新知識(shí)點(diǎn)


復(fù)制代碼
代碼如下:

onClipEvent (keyDown);// 影片的事件處理函數(shù)。觸發(fā)的是按下按鍵事件 。
onClipEvent (keyUp) ; // 觸發(fā)的是松開(kāi)按鍵事件 。
Key.getCode() // 獲得鍵值。

  本實(shí)例只用到了 4 個(gè)鍵值,但為全面了解,將一個(gè)別人所寫最新教程的鍵控代碼值和鍵常量表復(fù)制下來(lái)。

  

  圖 2 — 2 鍵控代碼

  

  圖 2 — 3 鍵常量

  實(shí)例說(shuō)明

  好象沒(méi)什么需要說(shuō)明,就是 QG 追 QM ,總也追不到。

  編寫動(dòng)作腳本

 ?、僭诳?MC 上輸入:

復(fù)制代碼
代碼如下:

onClipEvent (keyDown) {// 按鍵事件觸發(fā)
  s = 1;
  if (Key.getCode() == 37) {// 條件為獲取的鍵值為“ 37 ” 即“ ←”的鍵值。
    _root.qa.play();
    _root.qb.play();
    _root.qa._x -= s;
    _root.qa._xscale = -_xscale;// 令MC“ qa ”水平翻轉(zhuǎn)
    _root.qb._xscale = _xscale;
    _root.qb._x = _root.qa._x-80;// 令MC“ qb ”水平位置到“ qa ”左邊
  }
  if (Key.getCode() == 39) {// 條件為獲取的鍵值為“ 39 ” 即“ →”的鍵值。
    _root.qa._xscale = _xscale;
    _root.qa.play();
    _root.qb.play();
    _root.qa._x += s;
    _root.qb._xscale = -_xscale; // 令MC“ qb ”水平翻轉(zhuǎn)
    _root.qb._x = _root.qa._x+80; 令MC“ qb ”水平位置到“ qa ”右邊
  }
  if (Key.getCode() == 38) {// 條件為獲取的鍵值為“ 38 ” 即“ ↑”的鍵值。
    _root.qa._y -= s*2;
    _root.qb._y = _root.qa._y;
  }
  if (Key.getCode() == 40) {// 條件為獲取的鍵值為“ 40 ” 即“ ↓”的鍵值。
    _root.qa._y += s*2;
   _root.qb._y = _root.qa._y;
  }
  if (_root.qa._x<100) {// 以下 4 條語(yǔ)句是限制邊界
    _root.qa._x = 100;
  }
  if (_root.qa._x>430) {
    _root.qa._x = 430;
  }
  if (_root.qa._y<50) {
    _root.qa._y = 50;
  }
  if (_root.qa._y>320) {
    _root.qa._y = 320;
  }
}
onClipEvent (keyUp) {// 釋放鍵觸發(fā)
  _root.qa.stop();
  _root.qb.stop();
  if (_root.qa._x<_root.qb._x) {// 依據(jù)兩個(gè)MC“qa”和“qb”的左右位置,確定翻轉(zhuǎn)與否,而保證是相向而立。
    _root.qa._xscale = _xscale;
    _root.qb._xscale = _xscale;
  } else {
   _root.qa._xscale = -_xscale;
   _root.qb._xscale = -_xscale;
  }
}

  要點(diǎn)分析

 ?、?Key.getCode() == 37 可以寫成 Key.getCode() == Key.LEFT ,“ Key.LEFT ”是與左箭頭鍵的鍵控代碼值 (37) 關(guān)聯(lián)的常量,初學(xué)或需給別人看,用這樣方式寫好,直觀明了,而直接用鍵值寫能省點(diǎn)勁,我是那里省力寫 這里費(fèi)力說(shuō)。

 ?、谶@里 onClipEvent (keyDown) 結(jié)合 Key.getCode() == () 的腳本,事件觸發(fā)是主體,而獲取鍵值只是確定該有啥動(dòng)作的的條件,不要以為 if (Key.getCode() == 37) { _root.qa.play(); }就可以有 _root.qa.play(); 的動(dòng)作。

  小結(jié)

  響應(yīng)鍵盤是游戲和課件中普遍應(yīng)用的,什么物體運(yùn)動(dòng)呀 飛行呀,開(kāi)炮放槍的,都需要鍵盤來(lái)實(shí)現(xiàn)人機(jī)交互, 根據(jù)學(xué)習(xí)進(jìn)度的要求,本節(jié)只介紹了通過(guò)MC的按鍵事件觸發(fā)和鍵值捕獲的方法來(lái)實(shí)現(xiàn)鍵盤控制,也是比較簡(jiǎn)單實(shí)用的方法,咱們是不用招法多,好用就中。

  課后練習(xí)

  大改源文件,讓一個(gè)Q滿場(chǎng)亂跑,另一個(gè)Q由鍵盤控制去追,追上之后出現(xiàn)一個(gè)新畫面,提示:沒(méi)準(zhǔn)轍的瞎跑當(dāng)然要用隨機(jī)函數(shù),追上的語(yǔ)句就用我們學(xué)過(guò)的知識(shí) 用X.Y坐標(biāo)值的差來(lái)判斷, MC 的碰撞方法或碰撞檢測(cè)的組件大家還沒(méi)學(xué) , 我也不會(huì)。范例效果:

  點(diǎn)擊查看動(dòng)畫效果<練習(xí)2-9

  源文件

  查看全套"Flash AS 實(shí)例進(jìn)階教程"

相關(guān)文章

  • flash cs6鼠標(biāo)跟隨效果實(shí)現(xiàn)代碼分享

    flash cs6想要實(shí)現(xiàn)鼠標(biāo)跟隨效果?該怎么制作呢?今天我們就來(lái)看看使用as2.0實(shí)現(xiàn)鼠標(biāo)跟隨效果的教程,需要的朋友可以參考下
    2019-05-19
  • Flash cs6怎么使用代碼輸入中英文文本?

    Flash cs6怎么使用代碼輸入中英文文本?Flash cs6中可以使用文字工具直接輸入文本,也可以使用代碼來(lái)輸入文本,該怎么使用代碼輸入文本呢?請(qǐng)看下文詳細(xì)的教程,需要的朋友
    2018-03-11
  • flash as3.0怎么定義抽象類和抽象?

    flash as3.0抽象類怎么定義? as3.0中有很多抽象類,該怎么定義抽象類和抽象方法呢?下面我們就來(lái)看看簡(jiǎn)單的例子,需要的朋友可以參考下http://www.dbjr.com.cn/softs/408402.
    2018-02-28
  • flash cs6中怎么使用ActionScript3.0?

    flash cs6中怎么使用ActionScript3.0?flash cs6中想要使用ActionScript3.0功能,該怎么使用呢?下面我們就來(lái)看看詳細(xì)的教程,需要的朋友可以參考下
    2018-01-25
  • Flash中怎么實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊決定圖像位置?

    本教程給大家分享一個(gè)Flash小教程,教大家在Flash CS6中怎么實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊決定圖像位置?方法很簡(jiǎn)單,感興趣的朋友歡迎前來(lái)一起分享學(xué)習(xí)
    2018-01-12
  • Flash中如何用代碼將圖片放在自己想要的舞臺(tái)位置?

    本教程教腳本之家的ActionScript教程學(xué)習(xí)者在Flash中如何用代碼將圖片放在自己想要的舞臺(tái)位置,教程講解的詳細(xì),感興趣的朋友歡迎前來(lái)分享學(xué)習(xí)
    2017-11-20
  • 在Flash CS6中使用with函數(shù)繪制背景圖教程

    本教程教腳本之家的ActionScript教程學(xué)習(xí)者如何在Flash CS6中使用with函數(shù)繪制背景圖?教程一步步講解的挺詳細(xì),方法也不難,非常適合Flash新手入門學(xué)習(xí)
    2017-11-18
  • Flash怎么設(shè)置元件坐標(biāo)?flash使用代碼設(shè)置元件的坐標(biāo)的教程

    Flash怎么設(shè)置元件坐標(biāo)?flash中導(dǎo)如的元件需要添加坐標(biāo),該怎么定位元件坐標(biāo)呢?下面我們就來(lái)看看flash使用代碼設(shè)置元件的坐標(biāo)的教程,需要的朋友可以參考下
    2017-10-11
  • Flash怎么制作來(lái)回?fù)u擺的花朵的動(dòng)畫?

    Flash怎么制作來(lái)回?fù)u擺的花朵的動(dòng)畫?Flash中想要給花朵制作一段搖擺的動(dòng)畫效果,該怎么制作呢?下面我們就來(lái)看看詳細(xì)的教程,很簡(jiǎn)單,需要的朋友可以參考下
    2017-05-23
  • Flash怎么制作流動(dòng)七彩色的文字?

    Flash怎么制作流動(dòng)七彩色的文字?想要讓文字動(dòng)起來(lái),該怎么使用flash給文字制作一個(gè)流動(dòng)七彩色的動(dòng)畫呢?下面我們就來(lái)看看詳細(xì)的教程,需要的朋友可以參考下
    2017-04-23

最新評(píng)論