試してみよう : ハンドオフ アニメーションとそれ以外のアニメーションの操作
複数のアニメーション タイムラインで同じプロパティを同時にアニメーション化する場合、0 秒のマークでキーフレームが記録されているかどうかによって移行動作が異なります。次の手順は、ハンドオフ アニメーションとそれ以外のアニメーションの動作を理解するのに役立ちます。
ハンドオフ アニメーションとそれ以外のアニメーションを比較するには
Microsoft Expression Blend で、プロジェクトを開くか、新しいプロジェクトを作成します。詳細については、「新しいプロジェクトを作成する」を参照してください。
F6 キーを押して、アニメーション ワークスペースに切り替えます (F6 キーは、ワークスペースを切り替えるキーです。アニメーション ワークスペース では、[オブジェクトとタイムライン] パネルはアートボードの下に配置されます)。
[オブジェクトとタイムライン] パネルで [ストーリーボードを閉じる]
をクリックします。
ヒント :
ストーリーボードが開いているときにプロパティを変更すると、ストーリーボードのタイムライン上のキーフレームに変更が自動的に記録されます。
[ツール] パネルの [楕円]
を選択します。アートボードの中央に円を描きます。[プロパティ] パネルの [レイアウト] カテゴリで [Height] および [Width] プロパティを使用して、楕円を真円にできます。クリッピングが発生する場合は、[Margin] プロパティを調整します。
[オブジェクトとタイムライン] パネルの [新規作成]
をクリックします。
[ストーリーボード リソースの作成] ダイアログ ボックスが表示されます。
[リソース名 (キー)] フィールドに「Double」という名前を入力し、[OK] をクリックします。
Expression Blend はタイムライン記録モードに入り、再生ヘッド
は 0 秒のマークに置かれます。記録モード中は、プロパティを設定すると、タイムラインに自動的にキーフレームが記録されます。
0 秒のマークでキーフレームを設定しないでください。再生ヘッドを 1 秒のマークにドラッグしてください。
[ツール] パネルの [選択内容]
をクリックし、Alt キーを押しながら、楕円の幅が元の幅の 2 倍になるまで、楕円の幅ハンドルをドラッグします。
1 秒のマークで、[ScaleX] プロパティにキーフレームが自動的に設定されます。
ヒント :
Alt キーを押したままアートボード上のオブジェクトのサイズを変更すると、中心点が維持されます。
[オブジェクトとタイムライン] パネルで、楕円のノードを順に展開して [ScaleX] ノードを表示します。[ScaleX] ノードまたはグレーのタイム スパン バーを右クリックし、[繰り返し回数の編集] をクリックします。
[繰り返し編集] ダイアログ ボックスが表示されます。
タイムラインを無限に繰り返すには、[終了日未定に設定]
をクリックし、[OK] をクリックします。
[オブジェクトとタイムライン] パネルの [新規作成]
をクリックします。
[ストーリーボード リソースの作成] ダイアログ ボックスが表示されます。
[リソース名 (キー)] フィールドに「Quadruple」という名前を入力し、[OK] をクリックします。
Expression Blend は、元の楕円サイズから開始して 2 番目のタイムラインのタイムライン記録モードに入ります。
前の手順と同様、0 秒のマークでキーフレームを設定しないでください。再生ヘッドを 1 秒のマークにドラッグしてください。
[ツール] パネルの [選択内容] ツールをクリックし、Alt キーを押しながら、楕円の幅が元の幅の 4 倍になるまで、楕円の幅ハンドルをドラッグします。
1 秒のマークで、[ScaleX] プロパティにキーフレームが自動的に設定されます。
[ScaleX] ノードまたはグレーのタイム スパン バーを右クリックし、[繰り返し回数の編集]、[終了日未定に設定] ボタン、[OK] の順にクリックします。
次に、アニメーションのトリガーを設定します。既定では、ドキュメントのルートに作成された新しいタイムラインによって、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 秒のマークでキーフレームは設定されていません。発生するアニメーション間の移行をハンドオフ アニメーションと呼びます。1 つのアニメーションが別のアニメーションを中断すると、アニメーションのハンドオフ動作により、中断時点の幅から次のアニメーションの最初のフレームに滑らかに移行します。Double アニメーションの最後にポインターを楕円内に動かすと、Quadruple アニメーションの開始点は楕円の元のサイズからではなく、マウスを動かしたときの楕円の幅から始まります。マウス カーソルを楕円の外に動かすと、2 つの間で発生する移行のために、Double アニメーションは Quadruple アニメーションが反転したように見えます。
アプリケーションを終了して、Expression Blend に戻ります。
[オブジェクトとタイムライン] パネルで楕円の [ScaleX] ノードをクリックし、[Quadruple タイムライン] をクリックします。再生ヘッドを 0 秒のマークに移動した後、[キーフレームの記録] ボタンをクリックします。
アニメーションを再度テストします。移行動作が変化します。マウス カーソルを楕円内に移動すると、Quadruple アニメーションが楕円の元の幅から始まります。
Double アニメーションの 0 秒のマークでキーフレームを追加して再度テストし、次に Quadruple アニメーションの 0 秒のマークのキーフレームを削除してテストを再度行うことによって、さらに別の移行動作を確認できます。