2007
08.31


[此篇僅供ActionScript 3.0 與 Flex 參考]

繼上篇[ActionScript3.0 中 TextField 吃掉手指游標的問題 (1/3)] 的內容,這次我們要將滑鼠被 TextField 吃掉的問題給解決掉,先來看看整個Run起來的感覺:

你可以看到第一次原始狀態,當滑鼠移到 TextFiled (動態文字) 上時會變成文字輸入遊標,而且當被動態文字被滑鼠點擊時也會顯示被點擊的目標是 TextField,但是有時候我們未必希望拿來做裝飾或顯示資訊用的 TextField 跑出來干擾主體的運作,那又該如何阻斷滑鼠在 TextField 上的事件呢?

其實這個並不難,你只需要用到影片角色主體上的 mouseChildren 屬性即可,mouseChildren 屬性是一個以 Boolean 為設定值的屬性,若是設成 true 則代表要阻斷這個影片角色所包含的子角色事件,反之則不用,預設值是 false。

我將這個範例的程式碼展示在下面,就讓大家去參考:

book_mc.addEventListener(MouseEvent.CLICK,clickHandler);
book_mc.buttonMode=true;

function clickHandler(event:MouseEvent):void{
 statusInput.text=event.target+"has clicked..."; 
}

stopMouseButton.addEventListener(MouseEvent.CLICK,stopMouseHandler);

function stopMouseHandler(event:MouseEvent):void{
 book_mc.mouseChildren=false;
}

clearButton.addEventListener(MouseEvent.CLICK,clearHandler);

function clearHandler(event:MouseEvent):void{
 statusInput.text="";
}

最近實在是太忙了,而且可以寫的東西又太多了,所以主題會跳著跑,從10月開始,我們將會混著寫Flex, ActionScript, AIR, Silverlight, C#.NET等主題,若是對於 Flash CS3 與 ActionScript 3.0 主題有興趣的朋友,可以參考我寫的這本書  [Flash CS3 Professional ActionScript 3.0 打造互動設計力與美] 在各大書店及網路書店均有販售。


相關文章:
  • [分享]Flex 4 與 Flash CS5的 API表
  • Facebook 的ActionScript API 更新到 3.3版
  • Flash on iPhone,代誌就這麼發生了
  • 用ActionScript讀取相片中的exif資訊
  • 現場直擊Flash/Flex特效瘋-8/26活動內容預告
  • 本文引用:
    文章內容由宋志峰[ANISTAR]撰寫,引用分享請以鏈結形式註明出處與原始作者。

    14 comments so far

    Add Your Comment
    1. mouseEnabled也可以

      • 但是mouseEnabled會沒辦法處理滑鼠游標顯事的問題, 因此我建議兩者都做.

    2. 洋蔥魚:
      很高興你成功了,我很好奇你問題出在哪?

    3. 老師:

      我成功了,感謝您的指導。