2010-12-20 52 views
1

我試圖創建可在Flex 4中的Flex對象的平滑拖動

我試圖http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf64595-7fed.html移動的對象,但在這個最實際的例子離開實際的對象(在暫停),直到拖動結束,但我正在尋找更新將完成/顯示,而拖動仍在...在我嘗試過的那些行中:Problems replicating drag-and-drop with mouse events ...但在這裏我有點理解'什麼是MouseHelper & EventHelpers'。

也試過這個:Flash AS3 custome Dragging using MOUSE_MOVE event但是運動不順暢,很曲折。

任何建議是最受歡迎的。

問候

回答

2

這裏是an example有5種方式拖動(四個被註釋掉):

* MouseEvent.MOUSE_MOVE
* Event.ENTER_FRAME
* startDrag(true)
* Timer(10)這臺x = mouseX   y = mouseY每10ms
* Timer(100)創建補間到mouseX, mouseY而不是應用值

如果我將鼠標移動得足夠快,所有這些模式(30fps)看起來就像一個精靈正在追蹤鼠標光標,而不是被拖動,並且動畫也不平滑。但是最平滑的動畫是由Tweener提供的,但該模式顯示鼠標光標和被拖動的精靈之間的平均距離更大。
和btw快速拖動例如Windows資源管理器也使它閃爍,因爲它沒有足夠的時間在每個位置渲染

+0

感謝您的職位。當我點擊swf時,藍色的方塊就會進入鼠標位置 - 這是故意完成的!另外,在這裏,我試圖將這個'移動'應用到一個定製的視頻播放器上,這將是相同的工作,或者它將只適用於Sprite,因爲我們沒有使用它。 – user237865 2010-12-22 16:04:36

+1

@ user237865:1.當按下鼠標按鈕時,藍色方塊移動到光標2.在wonderfl.net上,您可以單擊'fork'按鈕(您需要註冊或使用openID登錄)才能將此代碼複製爲自己即接受在站點上編輯它的能力,並在每次編輯源代碼時從它們的服務器端編譯器中獲取一個新的.swf 3.它適用於可以作爲參數傳遞給addChild()的所有內容但是如果您需要示例中的補間功能,您可以在這裏找到它:http://www.libspark.org/wiki/BetweenAS3/en – www0z0k 2010-12-23 01:53:26

+0

感謝您的時間:) – user237865 2010-12-23 09:44:58