« Vitsa値下げ…… | トップページ | DoubleAnimationの例2~Canvas.TopとCanvas.Leftを同時に変化させる »

2008/03/03

DoubleAnimationの例1~位置を移動する

まずは、数値を変化させてアニメーションを実現するDoubleAnimationの例をいくつか紹介します。 アニメーションの基本 では 透明度を変化させるサンプル  を扱ったので、ここでは位置を変化させるDoubleAnimationのサンプルを紹介します。

http://www.makoto3.net/xaml/silverlight0077/index.html

【myxaml.xaml】

<Canvas
   xmlns="http://schemas.microsoft.com/client/2007"  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
 <Rectangle   x:Name="MyRect"   Width="50" Height="50" Fill="red" Canvas.Left="0" Canvas.Top="125">
  <Rectangle.Triggers>
   <EventTrigger RoutedEvent="Rectangle.Loaded">
    <BeginStoryboard>
     <Storyboard>
      <DoubleAnimation
           Storyboard.TargetName="MyRect"
           Storyboard.TargetProperty="(Canvas.Left)"
           From="0" To="250" Duration="0:0:3"
           AutoReverse="True" RepeatBehavior="Forever"/>

     </Storyboard>
    </BeginStoryboard>
   </EventTrigger>
  </Rectangle.Triggers>
 </Rectangle>
</Canvas>

ページを読み込むと、赤い四角形が左端から右端まで移動し、右端にぶつかると反対方向に移動して、この動作を繰り返します。

アニメーションの書き方は アニメーションの基本 で紹介したルール通りです。四角形のRectangleには"MyRec"という名前を付けていますので、DoubleAnimationのStoryboard.TargetNameには"MyRec"と指定し、アニメーションの対象として指定しています。

ちょっと注意したいのはStoryboard.TargetPropertyに"(Canvas.Left)"と指定してあることです。<Rectangle>タグでは、キャンバス左端からの距離をCanvas.Left属性で指定していますが、このようにピリオドで書く属性をTraget.Propertyに指定するときは、全体を括弧( )で囲む仕様となっています。

あとは、特に難しい指定はありません。From="0" To="250" Duration="0:0:3"なので、キャンバス左端からの距離が0から250ピクセルまで3秒間かけて変化し、AutoReverse="True" RepeatBehavior="Forever" と指定していますから、動作が反復されて、それが無限に繰り返されることになります。

JavaScriptでSilverlight 目次


このページは xfy Blog Editor  を利用して作成されました。

« Vitsa値下げ…… | トップページ | DoubleAnimationの例2~Canvas.TopとCanvas.Leftを同時に変化させる »

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/39246/40342503

この記事へのトラックバック一覧です: DoubleAnimationの例1~位置を移動する:

« Vitsa値下げ…… | トップページ | DoubleAnimationの例2~Canvas.TopとCanvas.Leftを同時に変化させる »

2009年7月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

最近のトラックバック