文字上滚
图片反转
最近对silverlight的研究颇为感慨,我觉得是个挺适合我的东西。但是想从FLASH中完全转变概念还是需要一段时间的。先说说一个工具:
SWF2XAML:其实FLASH就是一个做矢量图非常好的工具,更重要的是他比较容易上手。可以在FLASH中制作好图像,然后导出为SWF格式。利用SWF2XAML对SWF格式文件进行转换,成XAML格式的即可。SWF2XAML支持FLASH 7及以下版本的文件,如果是FLASH8或9,这个软件导出来的XAML文件中都是一些注册信息,其他信息都导不出来。还有,即使是一个圆圈和一个方框。导出的XAML都是这样的文件
<
Path
Fill
="#FFF3E7DA"
Stroke
="#FFCDB396"
StrokeThickness
="1"
>
< Path .Data >
< PathGeometry Figures ="M438.95,302L275,302L275,161L438.95,161L438.95,302" />
</ Path.Data >
</ Path >
< Path .Data >
< PathGeometry Figures ="M438.95,302L275,302L275,161L438.95,161L438.95,302" />
</ Path.Data >
</ Path >
完全用Path标签描述,而不用Ellipse 或Rectangle 了,即使是可以按照原来的方式将图像展示出来,因为现在仅仅是刚开始学,我说不好利用Path到底有什么不好,或者从哪个方面利用Ellipse 或Rectangle 更好,也许是代码的标准化?
下面这个代码是我做的第一个例子,不过好像还是有点问题!他的这招随着文字移动而移动。我想做的是折罩在场景中。
<
Canvas
xmlns
="http://schemas.microsoft.com/client/2007"
xmlns:x ="http://schemas.microsoft.com/winfx/2006/xaml" >
< Canvas .Triggers >
< EventTrigger RoutedEvent ="Canvas.Loaded" >
< EventTrigger .Actions >
< BeginStoryboard >
< Storyboard
Storyboard.TargetName ="txt"
Storyboard.TargetProperty ="(Canvas.Top)"
>
< DoubleAnimation To ="-340"
Duration ="0:1:0"
RepeatBehavior ="Forever"
/>
</ Storyboard >
</ BeginStoryboard >
</ EventTrigger.Actions >
</ EventTrigger >
</ Canvas.Triggers >
< TextBlock Foreground ="Blue" x:Name ="txt" Canvas.Top ="340" >
Arial,24pt,Bold,Blue
< LineBreak />
< Run > Arial,36pt,Light,Blue </ Run >
< LineBreak />
< Run > Times New Roman,
24pt,Bold,Yellow </ Run >
Arial,24pt,Bold,Blue
< LineBreak />
< Run > Arial,36pt,Light,Blue </ Run >
< LineBreak />
< Run > Times New Roman,
24pt,Bold,Yellow </ Run >
Arial,24pt,Bold,Blue
< LineBreak />
< Run > Arial,36pt,Light,Blue </ Run >
< LineBreak />
< Run > Times New Roman,
24pt,Bold,Yellow </ Run >
Arial,24pt,Bold,Blue
< LineBreak />
< Run > Arial,36pt,Light,Blue </ Run >
< LineBreak />
< Run > Times New Roman,
24pt,Bold,Yellow </ Run >
Arial,24pt,Bold,Blue
< LineBreak />
< Run > Arial,36pt,Light,Blue </ Run >
< LineBreak />
< Run > Times New Roman,
24pt,Bold,Yellow </ Run >
Arial,24pt,Bold,Blue
< LineBreak />
< Run > Arial,36pt,Light,Blue </ Run >
< LineBreak />
< Run > Times New Roman,
24pt,Bold,Yellow </ Run >
Arial,24pt,Bold,Blue
< LineBreak />
< Run > Arial,36pt,Light,Blue </ Run >
< LineBreak />
< Run > Times New Roman,
24pt,Bold,Yellow </ Run >
< TextBlock .OpacityMask >
< LinearGradientBrush >
< GradientStop Offset ="0.1" Color ="#00000000" />
< GradientStop Offset ="0.2" Color ="#FF000000" />
</ LinearGradientBrush >
</ TextBlock.OpacityMask >
</ TextBlock >
</ Canvas >
xmlns:x ="http://schemas.microsoft.com/winfx/2006/xaml" >
< Canvas .Triggers >
< EventTrigger RoutedEvent ="Canvas.Loaded" >
< EventTrigger .Actions >
< BeginStoryboard >
< Storyboard
Storyboard.TargetName ="txt"
Storyboard.TargetProperty ="(Canvas.Top)"
>
< DoubleAnimation To ="-340"
Duration ="0:1:0"
RepeatBehavior ="Forever"
/>
</ Storyboard >
</ BeginStoryboard >
</ EventTrigger.Actions >
</ EventTrigger >
</ Canvas.Triggers >
< TextBlock Foreground ="Blue" x:Name ="txt" Canvas.Top ="340" >
Arial,24pt,Bold,Blue
< LineBreak />
< Run > Arial,36pt,Light,Blue </ Run >
< LineBreak />
< Run > Times New Roman,
24pt,Bold,Yellow </ Run >
Arial,24pt,Bold,Blue
< LineBreak />
< Run > Arial,36pt,Light,Blue </ Run >
< LineBreak />
< Run > Times New Roman,
24pt,Bold,Yellow </ Run >
Arial,24pt,Bold,Blue
< LineBreak />
< Run > Arial,36pt,Light,Blue </ Run >
< LineBreak />
< Run > Times New Roman,
24pt,Bold,Yellow </ Run >
Arial,24pt,Bold,Blue
< LineBreak />
< Run > Arial,36pt,Light,Blue </ Run >
< LineBreak />
< Run > Times New Roman,
24pt,Bold,Yellow </ Run >
Arial,24pt,Bold,Blue
< LineBreak />
< Run > Arial,36pt,Light,Blue </ Run >
< LineBreak />
< Run > Times New Roman,
24pt,Bold,Yellow </ Run >
Arial,24pt,Bold,Blue
< LineBreak />
< Run > Arial,36pt,Light,Blue </ Run >
< LineBreak />
< Run > Times New Roman,
24pt,Bold,Yellow </ Run >
Arial,24pt,Bold,Blue
< LineBreak />
< Run > Arial,36pt,Light,Blue </ Run >
< LineBreak />
< Run > Times New Roman,
24pt,Bold,Yellow </ Run >
< TextBlock .OpacityMask >
< LinearGradientBrush >
< GradientStop Offset ="0.1" Color ="#00000000" />
< GradientStop Offset ="0.2" Color ="#FF000000" />
</ LinearGradientBrush >
</ TextBlock.OpacityMask >
</ TextBlock >
</ Canvas >
<LineBreak/>是换行