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

首頁 > 辦公 > Flash > 正文

Flash AS 入門教程 碰撞檢測hitTest函數

2020-07-17 13:13:49
字體:
來源:轉載
供稿:網友

  hitTest函數是用來檢測兩個物體或目標是否重疊和相交,如果相交或重疊,就執行相應的動作,這對于我們做一些互動的動畫和游戲是非常有用。比如在做點鞭炮、射擊等的動畫時,就可以用hitTest的方法。

  源文件下載

  hitTest用法

  1、my_mc.hitTest(x, y, true[false])

  影片剪輯my_mc和由x,y指定的點擊區域重疊或交叉,則執行(大括號中)命令。參數true是指my_mc的整個形狀;false是指my_mc包括邊框。

  2、my_mc.hitTest(target)

  影片剪輯my_mc與target的目標路徑指定的實例交叉或重疊。target 參數通常表示帶路徑的實例名。

  實例應用

  例1 鼠標控制影片剪輯移動。鼠標在(坐標_xmouse, _ymouse)影片剪輯qiu_mc上(與qiu_mc重疊或交叉)時,qiu_mc向右移動10個象素。打開3.4.1.fla文件。

  在場景第1幀上的腳本為:


復制代碼
代碼如下:

 qiu_mc.onEnterFrame = function() { //qiu_mc執行onEnterFrame事件處理函數;
  if (this.hitTest(_xmouse, _ymouse, false)) { 
          //如果鼠標坐標與qiu_mc交叉或重疊(鼠標在qiu_mc上)
  this._x += 10; //qiu_mc橫坐標增加10個象素;
  }
  if (this._x>=500) { //qiu_mc橫坐標大于或者等于500個象素時
   this._x = 0;   //重新設置qiu_mc橫坐標為0;
  }
 };

  點擊查看動畫效果<

  注意,把碰撞函數中的參數false改為true,觀測不同效果,加深對mc的形狀與邊框的理解。

  例2 打開3.4.2fla文件

  本例中,要把圓等6個圖形拖到上面對應的文字上。6個圖形分別是tx1_mc~~tx6_mc;6個對應的文字都是動態文本,名稱分別是wz1~wz6.每個mc拖動的位置如果出錯了能夠自動回到原來的位置,當6個mc都能正確拖到對應位置上時,主時間軸從第1幀跳到第2幀,并給于文字說明。

  顯然,我們只要在一個mc上的腳本寫對了,其它5個mc就可以很方便的寫出來。

  在主時間軸第1幀上寫的腳本:


復制代碼
代碼如下:

  stop();
  i=0 ; //設置用于記數的變量
  在圓(tx1_mc)上的腳本為:
   on (press) {       //鼠標按下時
    x = _x;        //把本mc的坐標賦給本mc下的變量x,y
    y = _y;
    startDrag(this, true); //拖動這個mc 
 }
   on (release) { //松開鼠標時
     stopDrag();//停止拖動這個mc
     if (this.hitTest(_root.wz1)) {  //如果這個mc和動態文本wz1重疊或相交;
       if (k != 1) {        //這時如果這個mc上的變量k不為1
         _root.i++;        //主時間軸上的變量i加1;
         k = 1;
       //在這個mc上設置變量k=1(使一個mc拖動正確時,主時間軸上的記數變量i只加1次)
       }
       if(_root.i==6){ //如果主時間軸上的記數變量i等于6時(圖形都正確拖動完畢)
        _root.nextFrame();//主時間軸跳到下1幀停下;
       }
    } else { //如果這個mc和動態文本wz1不重疊或相交
     _x = x;//把這個mc的坐標設置為前面得到的這個mc的坐標的數值
     _y = y;
    }
  }

  我們可以檢測這段代碼的正確性,然后我們可以把這段代碼復制在其他5個mc上,只消把其中的wz1改為相應的wz2~wz6即可。

  點擊查看動畫效果<

  既然這六個mc上的代碼都非常接近,我們應該想辦法用函數的辦法來處理。這六個mc上的代碼中只有拖動的mc不同以及檢測的文本不同,因此,這個自定義函數應該有兩個參數。

  例3 打開3.4.3fla文件.在主時間軸第1幀上加上如下代碼:


復制代碼
代碼如下:

   stop();
   i = 0;
   function stlx(md, mc) { //md為拖動的mc,mc為檢測的文本
    stopDrag();
     if (md.hitTest(mc)) {
       if (md.k!=1) { //變量k是md上的,因此這里寫成md.k
         i++;   //自定義函數是寫在主時間軸上,因此主時間軸上的變量可以不用寫路徑
         md.k = 1;
        }
       if (i == 6) {
         nextFrame();
        }
    } else {
     md._x = md.x;
     md._y = md.y;
    }
  }

  在mc上的代碼就可以大為簡化

  在圓(tx1_mc)上的代碼就可以寫成:


復制代碼
代碼如下:

  on (press) {
  x = _x;
  y = _y;
  startDrag(this, true);
 }
  on (release) {
   _root.stlx(this, _root.wz1);
   //是在mc上寫的調函數腳本,因此這里的stlx()和wz1都應該加上路徑。
 }
  把tx1_mc上的代碼復制到其它5個mc上,只把其中的wz1換成wz2~~wz6就行了。
  為了可以重復做這個練習,在主時間軸第2幀上加上一個按扭,在按扭上加上:
  on (release) {
  prevFrame(); //回到第1幀
 }

  作業

  用事件處理函數改造例2中的源文件,要求:

  1、腳本都寫在主時間軸的第1幀上,所有mc上都不寫腳本;

  2、注意使用onPress,onRelease處理函數及循環語句。

  查看全套"Flash AS 高級教程"

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美亚洲国产视频小说| 亚洲成人a级网| 国产69精品久久久久9999| 亚洲精品久久久久久久久| 激情成人中文字幕| 国产亚洲视频在线观看| 日韩高清免费在线| 国产视频亚洲视频| 亚洲国产日韩欧美综合久久| 成人观看高清在线观看免费| 国产精品大片wwwwww| 国产精品第10页| 国产噜噜噜噜噜久久久久久久久| 国产97色在线| 在线观看日韩专区| 久久久精品2019中文字幕神马| 日韩有码视频在线| 欧美丰满少妇xxxxx做受| 亚洲美女黄色片| 欧美与欧洲交xxxx免费观看| 亚洲国产成人精品久久| 亚洲桃花岛网站| 91网站在线免费观看| 成人免费观看a| 欧美日韩在线看| 欧美一级视频一区二区| 97人人爽人人喊人人模波多| 中文字幕欧美日韩在线| 91中文字幕在线观看| 欧美体内谢she精2性欧美| 夜夜狂射影院欧美极品| 国产精品亚洲第一区| 国产一区二区三区在线播放免费观看| 日韩av不卡电影| 欧美一区视频在线| 亚洲精品成人免费| 国产精品综合网站| 久久久亚洲影院你懂的| 精品视频一区在线视频| 91在线直播亚洲| 日韩大陆欧美高清视频区| 日韩在线视频线视频免费网站| www.亚洲成人| 国产精品 欧美在线| 国产成人91久久精品| 色综合久久88色综合天天看泰| 国产精品亚洲视频在线观看| 日韩视频精品在线| 欧美精品18videos性欧| 欧美日韩在线观看视频小说| 爽爽爽爽爽爽爽成人免费观看| 欧美日韩国产页| 国产亚洲一区二区精品| 伊人久久久久久久久久久久久| 欧美日韩亚洲一区二区三区| 一区二区三区亚洲| www.日韩av.com| 久久精品视频一| 亚洲欧美国产va在线影院| 国产日韩精品在线观看| 精品日韩视频在线观看| 欧美日本国产在线| 亚洲国产天堂久久国产91| 欧美一级免费看| 欧美日韩国产区| 91久久精品在线| 欧美在线影院在线视频| 欧亚精品在线观看| 黄色精品一区二区| 精品视频www| 成人美女av在线直播| 欧美激情国产高清| 久久久亚洲网站| 日韩精品在线视频美女| 欧美激情视频免费观看| 国产在线日韩在线| 成人在线国产精品| 国产免费一区二区三区在线观看| 中文字幕日韩欧美精品在线观看| 一本色道久久88亚洲综合88| 欧美巨乳在线观看| 久久视频在线直播| 欧美视频一区二区三区…| 精品视频在线播放色网色视频| 亚洲91精品在线| 国产精品看片资源| 亚洲国产高清自拍| 亚洲人精选亚洲人成在线| 欧美夫妻性生活xx| 国产精品视频免费在线| 久久久久久成人精品| 国产不卡一区二区在线播放| 亚洲欧洲在线视频| 欧美另类精品xxxx孕妇| 久久久www成人免费精品| 在线观看精品国产视频| 成人高h视频在线| 中文字幕国产亚洲2019| 国产a级全部精品| 亚洲精品一区二区久| 久久精品国亚洲| 亚洲成人网在线观看| 欧美最近摘花xxxx摘花| 久久精视频免费在线久久完整在线看| 国产精品91视频| 欧美日韩中国免费专区在线看| 夜夜嗨av色综合久久久综合网| 亚洲国产中文字幕久久网| 91久久久亚洲精品| 亚洲精品国产品国语在线| 日本亚洲欧洲色α| 久久久999成人| 亚洲欧美综合另类中字| 亚洲精品www久久久久久广东| 亚洲性线免费观看视频成熟| 久久视频免费在线播放| 日韩在线播放av| 97视频网站入口| 2025国产精品视频| 欧美性在线观看| 伊人激情综合网| 96国产粉嫩美女| 国产精品久久久久久久久久久久久| 欧美天天综合色影久久精品| 亚洲天堂男人天堂女人天堂| 人人爽久久涩噜噜噜网站| 久久久亚洲成人| 久久久久久久久久久亚洲| 国产日韩在线看| 日韩精品在线电影| 亚洲网站视频福利| 国产精品午夜国产小视频| 亚洲成人亚洲激情| 欧美伦理91i| 91美女片黄在线观看游戏| 国产裸体写真av一区二区| 久热在线中文字幕色999舞| 一区二区三区国产在线观看| 欧美激情视频网站| 国产在线观看91精品一区| 精品国产区一区二区三区在线观看| 国产精品极品美女粉嫩高清在线| 国产在线高清精品| 国产成人精品久久久| 成人黄色短视频在线观看| 欧美电影第一页| 欧美黑人视频一区| 久久人人爽人人爽爽久久| 91精品久久久久久综合乱菊| 国产国产精品人在线视| 亚洲电影免费观看| 国产精品直播网红| 亚洲字幕在线观看| 国产精品aaaa| 美日韩在线视频| 国产精品高潮呻吟久久av黑人| 亚洲毛片一区二区| 丰满岳妇乱一区二区三区| 久久国产精彩视频| 欧美视频不卡中文| 亚洲大胆人体视频| 伊人久久久久久久久久久久久| 欧美在线观看一区二区三区| 一本色道久久综合狠狠躁篇的优点|