Silverlight中的Spritesheet

有没有人有一个在Silverlight中使用spritesheet的例子? 我想剪辑图像,按下按钮时,跳转到下一帧。 (如果用户不断点击按钮,它看起来就像一个动画)。 我环顾四周但却找不到我正在寻找的东西。 谢谢你的帮助。

以下内容将完全符合您的要求。 您可以使用键盘上的向上和向下键在动画中向前和向后导航。

XAML

     

C#

  imgRect.Width = 240; //Set the width of an individual sprite imgRect.Height = 296; //Set the height of an individual sprite const int ximages = 6; //The number of sprites in each row const int yimages = 5; //The number of sprites in each column int currentRow = 0; int currentColumn = 0; TranslateTransform offsetTransform = new TranslateTransform(); KeyDown += delegate(object sender, KeyEventArgs e) { switch (e.Key) { case Key.Up: currentColumn--; if (currentColumn < 0) { currentColumn = ximages -1; if (currentRow == 0) { currentRow = yimages - 1; } else { currentRow--; } } break; case Key.Down: currentColumn++; if (currentColumn == ximages) { currentColumn = 0; if (currentRow == yimages - 1) { currentRow = 0; } else { currentRow++; } } break; default: break; } offsetTransform.X = -imgRect.Width * currentColumn; offsetTransform.Y = -imgRect.Height * currentRow; imgBrush.Transform = offsetTransform; 

要进行测试,请尝试使用以下图像(1440x1480): 在此处输入图像描述

这是另一个适用于您创建的精灵表的解决方案,只需添加密钥代码即可。

如果您愿意使用Sprite Vortex(实际上是特定版本),您可以使用以下类。 您必须使用Sprite Vortex 1.2.2,因为在较新版本中,XML格式已更改。 确保添加属性的XML文件已更改为“不编译”。

如果您需要一个工作示例,我可以给您一个非常简单的例子。

ps Sprite Vortex应该使用其他程序执行相同的操作,但是v 1.2.2非常错误但不是太糟糕。

课程在这里: http : //pastebin.com/sNSa7xgQ