2014-04-04 32 views
0

首先讓我解釋一下,我們對AS3的大部分知識來自Flash cs5/5.5/6中製作的一些交互式動畫中的一小部分,而不是來自大部分剛剛開始理解的編程背景一點點的html & Jquery。有相當多的例子有一兩個我們想要的東西,但由於我們對AS3缺乏瞭解,很難將這些代碼變成可行的東西。我們嘗試了幾件事但沒有太多結果。在這一點上,我們寧願投入一些額外的工作,讓它做我們想做的事情,然後用我們不瞭解的幾行代碼來完成一半的工作。實際上,我們看到了很多Jquery滑塊等,它們也適用於我們的問題,但是我們的知識如果可能與我們項目的其餘部分不存在的話相結合。將可拖動的MC捕捉到預設位置

我們正在研究W7觸摸屏上的交互式演示(將輸入作爲鼠標事件處理),並將世界地圖細分爲4-5個區域,每個區域有30個以上的興趣點,這些都將脫機播放,屏幕在一個Flash播放器。對於這些興趣點,我們喜歡以某種幻燈片的形式(或類似的東西)顯示更多信息/照片/視頻。我們對分區動畫的放大效果非常好,包含了所有要點作爲具有它們自己的實例ID /名稱的符號的興趣。我們認爲,如果所有內容都非常寬泛,並且將其細分爲「幻燈片」(例如5x屏幕寬度,例如內容爲5「幻燈片),那麼我們可以輕鬆獲得所有內容,並使該MC可在X軸上拖動,並在屏幕上顯示其中一個「幻燈片」的位置,最好是所有這些都可以輕鬆地使其看起來平滑。

Here是「AS3如何僅在x軸上啓動drag」?它在非常寬的MC上工作良好,使用戶能夠在X軸上從一側拖拉到另一側。

現在我們希望能夠輕鬆地將其捕捉到預設位置。

我們正在考慮:X位置向左移動25%以上,它會輕鬆地鎖定到下一個預設位置。

這是在我們看到它的方式,還是有另一種方式來做到這一點?

如前所述,我們沒有編程背景,很可能我們錯過了非常明顯的面向程序員的思維選擇。

回答

0

你需要的不是一個實際的dragging,而是一個模擬,因爲你想輕鬆地將對象移動到某個位置,而拖動實際上是隨着鼠標光標移動特定的對象。

所以你可以做的並不複雜 - 檢查當鼠標點擊你的對象並保存鼠標位置。爲鼠標移動添加監聽器。當鼠標移動時,檢查它是否仍然按下(爲MOUSE_DOWN,MOUSE_UP添加事件).IF鼠標關閉,每次更新時檢查它的位置。如果位置更靠近下一個點 - 用一個補間移動對象。如果鼠標被釋放,則可以停止跟蹤它是否移動。

實際上你要做的是跟蹤何時按下,移動和釋放鼠標。在按下和釋放的時刻,您將跟蹤它的位置併爲與光標相對應的對象設置動畫(例如,如果您有兩個'位置'爲0和100,光標介於0和50之間 - 向左移動;如果是在50和100之間 - 生動於第二位)。

您仍然需要一些編程技巧才能這樣做,並且沒有簡單的方法向您展示它是如何完成的,因爲我不知道您的實際結構。

希望有幫助!

+0

謝謝,這有點幫助。知道不該做什麼也知道一些事情。將看看你的建議。 – marty90