利用自定義事件使Flex可以同時拖動多個可視元件

2021-05-28 13:04:23 字數 748 閱讀 7793

原理:

1.init()事件中監聽滑鼠按下,呼叫onmousedown()。

2.onmousedown()事件中主要做3件事:

a)依次把所需要拖動的所有元件壓入陣列,計算容器內的第1個子元件座標相對於當前滑鼠座標的偏移量offsetx[0]以及offsety[0],然後依次計算第i個子元件的座標相對於第i-1個子元件的偏移量,其中i>0。

b)監聽滑鼠移動事件onmousemove()

c)監聽滑鼠鬆開事件

3.onmousemove()事件中實時檢測當前滑鼠移動的距離,並讓容器內第1個子元件跟隨滑鼠移動,並且始終與滑鼠相距之前算得的偏移量,之後第i個子元件根據與第i-1個子元件的相對距離依次移動,最關鍵的是需要呼叫updateafterevent()方法,不然移動會有延遲。

4.onmouseup()事件取消事件onmousemove()、onmouseup()這2個事件的監聽,達到釋放目標的目的。

<?xml version="1.0" encoding="utf-8"?>

horizontalscrollpolicy="off" verticalscrollpolicy="off">

以下為20110930改進過的**:

<?xml version="1.0" encoding="utf-8"?>

horizontalscrollpolicy="off" verticalscrollpolicy="off">

flex自定義事件

開始的時候不知道該怎麼寫自定義事件,怎感覺很麻煩,其實理解就不麻煩了。一 首先你要定義乙個事件,讓這個事件繼承event 放在events包下 建乙個events包 package events 二 你可以自定義元件使用這個事件,比如我定義乙個兩個按鈕的元件 event name aaa type ...

Flex自定義事件

size medium flex自定義事件的乙個重要用途是能夠把子容器中的資訊傳遞到父容器中。size parent.mxml son.mxml event name datachange type events.datachangeevent datachangeevent.as package ...

Flex 自定義事件

flex開發過程中很多情況下都要用到自定義的事件 關於事件 大概有這麼幾個概念 觸發事件的操作.事件物件.事件偵聽器 個人感覺事件偵聽器和事件偵聽函式是同等的 事件型別 自定義事件中包括一下元素 事件型別.事件排程程式 事件排程程式描述的是在什麼情況下廣播事件 觸發事件的操作 告訴事件排程程式將事件...