試してみよう : 重なり合うアニメーションの作成
Microsoft Expression Blend のタイムライン構造では、アプリケーションで複数のアニメーション タイムラインを同時に実行できます。次の手順では、蝶が絶え間なく円を描いて飛び、ユーザーがその蝶の上にマウス ポインターを移動すると羽ばたくアニメーションを作成する方法を示します。
![]() |
---|
次の手順では、Windows Presentation Foundation (WPF) プロジェクトでトリガーを使ってストーリーボードを制御します。または、WPF か Microsoft Silverlight で ControlStoryboardAction ビヘイビアーを使ってコントロールを制御します。ビヘイビアーの使用の詳細については、「オブジェクトへのビヘイビアーの追加」参照してください。 |
重なり合うアニメーションを作成するには
Microsoft Expression Blend で、プロジェクトを開くか、新しいプロジェクトを作成します。詳細については、「新しいプロジェクトを作成する」を参照してください。
アニメーション ワークスペース に切り替えます。(F6 キーは、ワークスペースを切り替えるキーです。アニメーション ワークスペース では、[オブジェクトとタイムライン] パネルはアートボードの下に配置されます)。
ストーリーボードが開いている場合は、[オブジェクトとタイムライン] パネルで [ストーリーボードを閉じる]
をクリックします。
メモ :
[既定] 以外のタイムラインを選択してプロパティを変更すると、そのタイムラインでキーフレームが自動的に記録されます。
[ツール] パネルの [楕円]
を選択します。アートボードの右側に小さな円を 2 つ描きます。[プロパティ] パネルの [レイアウト] カテゴリで [Height] と [Width] プロパティの値を同じにすると、楕円を真円にできます。クリッピングが発生する場合は、[Margin] プロパティを調整します。
[ツール] パネルの [選択内容]
を選択し、下の図のように 2 つの円を近づけます。
アートボードに描かれた 2 つの円
両方の円を同時に操作するには、[オブジェクトとタイムライン] パネルで 1 つの円を選択し、Ctrl キーを押しながらもう 1 つの円も選択します。選択した円を右クリックして [グループ化設定] を選択し、[Grid] をクリックします。
2 つの円を含む新しい Grid レイアウト パネルが [オブジェクトとタイムライン] パネルに表示されます。
[Grid] オブジェクトを右クリックし、[名前の変更] を選択して、名前を変更します。名前を「Butterfly」に変更します。
円を描いて飛ぶアニメーションを作成するには、パスからアニメーション タイムラインを生成する [モーション パスに変換] ツールを使用できます。アートボード中央に、アートボードの画面の半分の幅を持つ 3 番目の楕円を描きます。
[オブジェクトとタイムライン] パネルで新しい楕円を選択した状態で、[オブジェクト] メニューの [パス] を選択し、[モーション パスに変換] をクリックします。
[モーション パスに変換] ダイアログ ボックスが表示されます。
アートボード上のオブジェクトの一覧から [Butterfly] グリッドを選択し、[OK] をクリックします。
新しいタイムラインが作成されます。Expression Blend が新しいタイムラインの記録モードに移行し、[再生]
をクリックすると、アートボード上のアニメーションを表示できます。ターゲット (Butterfly) は楕円から生成されたモーション パスを移動します。楕円の [Fill] プロパティがブラシに設定されている場合、Butterfly オブジェクトの部分にブラシの効果が適用されます。
3 番目の楕円は不要になったので削除します。
[オブジェクトとタイムライン] パネルで、[Butterfly]、[RenderTransform]、および [Translation] 要素のノードを展開し、[モーション パス] タイム スパンを表示します。[モーション パス] 要素またはタイム スパンを表すグレーのバーを右クリックし、[繰り返し回数の編集] をクリックします。
[繰り返し編集] ダイアログが表示されます。
タイムラインを無限に繰り返すには、[終了日未定に設定]
をクリックして、[OK] をクリックします。
このアニメーションを実行すると、繰り返しループします。
[オブジェクトとタイムライン] パネルの [新規作成]
をクリックします。
[ストーリーボード リソースの作成] ダイアログ ボックスが表示されます。
[リソース名 (キー)] フィールドに「Flap」という名前を入力し、[OK] をクリックします。
Expression Blend は新しいタイムラインのタイムライン記録モードに移行し、再生ヘッド
が 0 秒のマークに置かれます。記録モード中は、プロパティを設定すると、タイムラインに自動的にキーフレームが記録されます。
0 秒の位置でキーフレームを設定するには、[Butterfly] グリッドを選択し、[キーフレームの記録]
をクリックします。
タイムラインの [Butterfly] グリッドに対応する行にキーフレーム
が表示されます。
再生ヘッドを 1 秒のマークにドラッグし、別のキーフレームを記録します。
これで、アニメーションの開始位置と終了位置が設定されました。
再生ヘッドを、前の 2 つのキーフレームの間の 0.5 秒のマークにドラッグします。
[ツール] パネルの [選択内容] ツールを選択し、Alt キーを押しながら、アートボード上で [Butterfly] グリッドの高さを広げ、幅を狭くして、下の図のようにします。
Expression Blend は、Flap アニメーション タイムラインに対して記録モードになっているので、[Butterfly] グリッドの変更処理によって、0.5 秒のマークでグリッドの [ScaleX] および [ScaleY] プロパティに新しいキーフレームが設定されます。
アートボード上の Grid オブジェクトを広げる
[オブジェクトとタイムライン] パネルに [ScaleX] および [ScaleY] ノードが表示されるまで [Butterfly] グリッドのノードを展開します。1 つずつノードを選択し、これらを右クリックして [繰り返し回数の編集] を選択し、タイムラインを 2 回実行するように [繰り返し編集] ダイアログに「2」を入力します。次に、[OK] をクリックします。
[再生] ボタンをクリックして、アートボード上のアニメーションをテストします。繰り返しの値は、アートボード上の再生とは関係ありません。アニメーションのタイミングを調整する場合は、グレーのタイム スパン バーのキーフレームを移動できます。
メモ :
タイムライン全体を表示するスペースがない場合は、[タイムライン ズーム] テキスト ボックスを使用して、タイムラインをズーム アウトできます。パネルの幅を変更して、[オブジェクトとタイムライン] パネルの他の項目を表示することもできます。
次に、アニメーションのトリガーを設定します。ドキュメントのルートで新しいタイムラインを作成すると、アプリケーションの起動時に発生する Window.Loaded イベントのトリガーに既定のイベント トリガーが追加されます。
円を描くタイムラインにはそのトリガーを使用し、Flap タイムラインに新しいトリガーを追加します。
[トリガー] パネルで [Window.Loaded] トリガーを選択します。トリガーのアクションが、[Window.Loaded の発生時] の下に表示されます。[Flap.Begin] の横にあるマイナス記号をクリックし、そのアクションを削除します。
これで、アプリケーションが起動すると円を描くアニメーションは開始しますが、Flap アニメーションは開始しません。
メモ :
[アクティブな際のプロパティ] が表示されない場合は、[トリガー] パネルのサイズを調整する必要があります。サイズを調整するには、パネルの境界とパネル内の境界をクリックしてからドラッグします。
Window.Loaded トリガーから Flap アニメーションを削除
Flap アニメーションにトリガーを追加するには、[トリガー] パネルの [イベント トリガーの追加]
をクリックします。
新しい Window.Loaded トリガーが作成されます。
[オブジェクトとタイムライン] パネルで [Butterfly] グリッド オブジェクト要素を選択し、[トリガー] パネルのドロップダウン ボックスを使用して、新しいトリガーを [Window.Loaded の発生時] から [Butterly.MouseEnter の発生時] に変更します。
[Butterfly.MouseEnter の発生時] の横にある [新しいアクションの追加]
をクリックし、ドロップダウン ボックスを使用して、新しいアクションを [Flap.Begin] に変更します。
これで、ユーザーがマウス カーソルを蝶の上に置くと、Flap アニメーション タイムラインが開始します。
Grid オブジェクトの MouseEnter イベントに新しいトリガーを作成する
作成したアニメーション タイムラインとイベント トリガーの動作を確認するには、[プロジェクト] メニューの [プロジェクトのテスト] をクリックして、シーンをテストします。
メモ :
円を描くアニメーションの動きが早すぎる場合は、タイムラインの実行時間を調整できます。[オブジェクトとタイムライン] パネルで、ドロップダウン ボックスからモーション パス タイムラインを選択し、Grid オブジェクトの下のノードを順に展開して [Motion Path] ノードを表示します。次に、グレーのタイム スパン バーの右端をつかんで右にドラッグし、終了時間を延ばします。
円を描くタイムラインを削除し、新しいタイムラインを作成して、手順 8 (楕円の描画) から開始して、モーション パスを作成することもできます(手順 8 の前に新しいタイムラインを作成しない場合、Flap アニメーション タイムラインに円を描くアニメーションが追加されます)。