2011-02-23 73 views
0

我有一個圖像,我可以在放大的畫布內顯示。 問題是,當放大時,我嘗試拖動圖像,我可以看到前景中(即)畫布邊界外的圖像輪廓。 有無論如何告訴dragHandler在畫布邊界之外裁剪「抓取」圖像?Flex拖放和放置

+0

我想如果你指定了一個dragImage,它應該可以工作,你只需要使用comp的可視區域「即時」創建一個dragImage。不過,我沒有時間整理更深入的答案。 – JeffryHouser 2011-02-23 01:37:13

回答

0

根據我的經驗,使用內置的拖放彈性工具對於涉及在畫布中移動組件的東西是矯枉過正的。

更簡單的方法來做到這一點(在我看來)將聽取鼠標下/上/移動畫布中的圖像自己。

當您在圖像上檢測到鼠標時,添加鼠標移動監聽器(專業提示:確保在調用addEventListener時將useCapture設置爲true)並存儲鼠標相對於圖像原點的位置。然後,每當您移動鼠標時,考慮圖像中鼠標的位置(存儲在鼠標上的位置),更改畫布內圖像的位置。繼續操作直到出現鼠標移動,然後移除鼠標移動偵聽器。

還有一些額外的細節需要考慮(如果用戶拖到畫布之外或者在瀏覽器窗口之外?),但這會讓您開始。

希望有所幫助。

+0

我想到了另一種做法,即將畫布嵌入另一個SWF中,這樣圖像的邊界就不會溢出。 這是可能的工作... 採取調整圖像的方法放慢了事情令人難以置信.... – griffin 2011-02-23 17:48:58