試試看:播放遞移式及非遞移式動畫
如果有多個動畫時間軸同時操作相同的屬性,則切換行為會因 0 秒標記處是否記錄了主要畫面格而有不同。下列程序協助您瞭解遞移式及非遞移式動畫的運作方式。
比較遞移式及非遞移式動畫
在 Microsoft Expression Blend 中,開啟或建立新的專案。如需詳細資訊,請參閱建立新專案。
按 F6 切換至 [動畫工作區] (F6 會在可用的工作區之間切換。在 [動畫工作區] 中,[物件與時間軸] 面板位於畫板下方)。
在 [物件與時間軸] 面板中,選取 [關閉腳本]。
秘訣: 開啟腳本時,您進行的任何屬性變更,都會自動在腳本的時間軸上記錄一個主要畫面格。
從 [工具] 面板選取 [橢圓形] 。在畫板中央繪製一個圓形。您可以使用 [屬性] 面板之 [版面配置] 類別下的 [Height] 及 [Width] 屬性,將橢圓形變成正圓形。若發生裁剪行為,請調整 [Margin] 屬性。
在 [物件與時間軸] 面板中,按一下 [新增] 。
[建立腳本資源] 對話方塊會隨即顯示。
在 [資源名稱 (索引碼)] 欄位中,輸入名稱 [Double],然後按一下 [確定]。
Expression Blend 會進入時間軸記錄模式,並將播放點 移至 0 秒標記上。在記錄模式下,任何您設定的屬性都會自動在時間軸上記錄一個主要畫面格。
請勿在 0 秒標記處設定主要畫面格。請將播放點拖曳至 1 秒標記處。
從 [工具] 面板選擇 [選取],並按住 ALT 鍵,然後拖曳橢圓形的寬度控點,將橢圓形拉大為原始寬度的兩倍。
1 秒標記處會自動針對 [ScaleX] 屬性設定主要畫面格。
秘訣: 在調整畫板上的物件大小時按住 ALT 鍵,可以固定中心點。
在 [物件與時間軸] 面板中,展開橢圓形下方的節點,並找出 [ScaleX] 節點。以滑鼠右鍵按一下 [ScaleX] 節點或灰色時間範圍長條,然後按一下 [編輯重複次數]。
[編輯重複] 對話方塊隨即出現。
若要永遠重複時間軸,請按一下 [設為永久],然後按一下 [確定]。
在 [物件與時間軸] 面板中,按一下 [新增] 。
[建立腳本資源] 對話方塊會隨即顯示。
在 [資源名稱 (索引碼)] 欄位中,輸入名稱 [Quadruple],然後按一下 [確定]。
Expression Blend 會進入第二個時間軸的時間軸記錄模式,從原始橢圓形大小開始記錄。
與之前相同,請勿在 0 秒標記處設定主要畫面格。請將播放點拖曳至 1 秒標記處。
從 [工具] 面板選擇 [選取] 工具,並按住 ALT 鍵,然後拖曳橢圓形的寬度控點,將橢圓形拉大為原始寬度的四倍。
1 秒標記處會自動針對 [ScaleX] 屬性設定主要畫面格。
以滑鼠右鍵按一下 [ScaleX] 節點或灰色時間範圍長條、按一下 [編輯重複次數]、按一下 [設為永久] 按鈕,然後按一下 [確定]。
您現在可以設定動畫的觸發程序。根據預設,在文件的根元素中建立任何新的時間軸,都會在 [觸發程序] 面板中新增 [Window.Loaded] 事件的事件觸發程序。您可以保留 [Double] 時間軸的這個觸發程序,並為 [Quadruple] 時間軸新增另一個觸發程序。
在 [觸發程序] 面板中,選取 [Window.Loaded] 觸發程序。觸發程序的動作會顯示在 [當 Window.Loaded 引發時] 下面。請按一下 [Quadruple.Begin] 旁的減號,以刪除該動作。
現在,應用程式啟動時仍然會啟動 Double 動畫,但是不會啟動 Quadruple 動畫。
秘訣: 您可能必須調整 [觸發程序] 面板的大小,才能看到 [使用時的屬性] 區段。若要調整大小,請按一下並拖曳面板的框線及面板內的框線。
若要新增 [Quadruple] 動畫的觸發程序,請按一下 [觸發程序] 面板中的 [新增事件觸發程序]。
隨即建立新的 Window.Loaded 觸發程序。
選取 [物件與時間軸] 面板中的橢圓形,然後使用 [觸發程序] 面板中的下拉式方塊,將新的觸發程序從 [當 Window.Loaded 引發時] 變更為 [當 ellipse.MouseEnter 引發時]。
按一下[當 ellipse.MouseEnter 引發時] 旁邊的 [新增動作],然後使用下拉式方塊將新動作變更為 Quadruple.Begin。
現在,只要使用者將指標移至橢圓形上,Quadruple 動畫就會中斷 Double 動畫。
新增事件觸發程序、將事件觸發程序變更為 [當 ellipse.MouseLeave 引發時],然後新增 [Double.Begin] 的動作。
只要使用者將指標移至橢圓形外面,Double 動畫就會中斷 Quadruple 動畫。
若要查看動畫時間軸的行為及剛剛所建立的事件觸發程序,請按一下 [專案] 功能表上的 [測試專案] 來測試您的場景。
這兩個動畫都沒有設定在 0 秒標記上的主要畫面格。動畫之間產生的切換稱為「遞移式」動畫。當您使用其中一個動畫來中斷另一個動畫時,動畫的遞移行為是將中斷時的寬度平滑切換至後續動畫的第一個主要畫面格。如果在 Double 動畫播到結尾時將指標移至橢圓形中,則 Quadruple 動畫就不會從橢圓形的原始大小開始播放,而是從移動滑鼠時的橢圓形寬度開始播放。當您將滑鼠移出橢圓形時,因為 Double 動畫與 Quadruple 動畫之間會進行切換,所以 Double 動畫會呈現與 Quadruple 動畫相反的效果。
結束應用程式,回到 Expression Blend。
在 [物件與時間軸] 面板中,選取橢圓形的 [ScaleX] 節點,再選取 [Quadruple] 時間軸、將播放點移至 0 秒標記處,然後按一下 [記錄主要畫面格] 按鈕。
重新測試動畫。切換行為會變更。當您將滑鼠移至橢圓形中時,Quadruple 動畫會從橢圓形的原始寬度開始播放。
您可以進一步檢查不同的切換行為,例如在 Double 動畫的 0 秒標記處新增主要畫面格,並重新進行測試,然後刪除 Quadruple 動畫之 0 秒標記處的主要畫面格,再重新進行測試。