技术开发 频道

开发Silverlight游戏教程: 2D人物动画

    接下来就是重头戏了,如何通过纯C#来实现动态创建人物跑动动作动画呢?嘿嘿,且看下面代码。

int count = 1;

Image Spirit;

public Window4() {

InitializeComponent();

Spirit = new Image();

Spirit.Width = 150;

Spirit.Height = 150;

Carrier.Children.Add(Spirit);

DispatcherTimer dispatcherTimer = new DispatcherTimer();

dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);

dispatcherTimer.Interval = TimeSpan.FromMilliseconds(150);

dispatcherTimer.Start();

}private void dispatcherTimer_Tick(object sender, EventArgs e) {

Spirit.Source = new BitmapImage((new Uri(@"Player\" + count + ".png", UriKind.Relative)));

count = count == 7 ? 0 : count + 1;

}


    首先我们申明一个count变量用于记录当前切换到了哪张png图片了,接下来创建一个Image控件,取名叫Spirit,一看就知道它就是这节的主角啦,嘿嘿,写了那么多,主角终于要登场啦!

    初始化后我们分别设置Spirit宽高各为150,并将之做为子控件添加进Carrier中,到此主角完成了登场过程。

    接下来创建DispatcherTimer动画,相关内容可以查看第三节。

    最后我们在dispatcherTimer_Tick事件中进行图片的切换操作:即设置每间隔150毫秒后Spirit的图片源为Player文件夹中的count.png图片,设置完后如果count==7即已经到了最后一帧,那么count回到第一帧即count=0;否则count+=1,这是很容易理解的了。

    好了,按下Ctrl+F5,嘿嘿,主角会跑动了。当然啦,目前只是原地跑步,但是已经向成功迈出了一大步,难到不是吗?

0
相关文章