文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>SilverLlight学习笔记之一 < 旋转效果笔记>

SilverLlight学习笔记之一 < 旋转效果笔记>

时间:2010-12-08  来源:刀手的孤独

在silverlight实现图片的旋转,其实很容易做到,silverlight中提供的:PlaneProjection

类 就是用来处理对象的透视转换(类似三维效果)比如:RotationY 、RotationZ、RotationX 分别用来表示对象绕Y\Z\X轴的旋转角度(默认值是0度)。

在silverlight中,可视控件(如:Button、Grid、Image等)即system.Windows.UIElement都可以通过 其Projection属性来设置或获其应用的透视投影(三维效果)。如下代码演示了:为一个Image指定绕Y、Z轴旋转效果。

<Image x:Name="ydyimg" Grid.Row="1"  Source="./image1.png"  >

public partial class Test2 : Page

    {

        private PlaneProjection _ppj;

        private const int sd = 1;

        public Test2()

        {

            InitializeComponent();

            _ppj = new PlaneProjection();

            this.Projection = _ppj;

            CompositionTarget.Rendering += new EventHandler(play);

        }

        private void play(object sender ,EventArgs e)

        {

            _ppj.RotationY+=sd;

            _ppj.RotationZ+=sd;

        }

}

这里要注意使用了

CompositionTarget.Rendering += new EventHandler(play);

这句代码,CompositionTarget是一个静态类

表示基于 Silverlight 的应用程序的显示图面 其事件:Rendering表示: 呈现过程呈现某一帧时发生.

所以CompositionTarget.Rendering += new EventHandler(play);是让在silverlight帧变化时 触发play使旋转角度改变。

 

考虑一个问题:

  如何对于旋转还有一个关键要素就是旋转速度调整,当然可以通过旋转的角度来改变它但是 如果要更为平滑就应该像flash里面可以调整帧频,silverlight里面帧频的设置如下:

App.Current.Host.Settings.MaxFrameRate = N;

N值越大旋转越快

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载