面向对象动画设计.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象动画设计

面向对象的动画设计 基础练习:得到位置 得到目标位置 ship1.GetValue(Canvas.LeftProperty) ship1.GetValue(Canvas.TopProperty) 得到的是目标左上角距离左边和定边的距离 基础练习:设置位置 ship1.SetValue(Canvas.LeftProperty, shipLocation.X); ship1.SetValue(Canvas.TopProperty, shipLocation.Y); 把目标左上角设置到指定位置 帧呈现事件 private void myRender(object sender, EventArgs e) { } CompositionTarget.Rendering += myRender; 一个动画有很多帧组成,在每帧中都可以执行判断或操作 ? ?? ?? ? param name=EnableGPUAcceleration value=true / ? ?? ?? ? param name=EnableCacheVisualization value=true / ? ?? ?? ? param name=MaxFrameRate value=40 / ? ?? ?param name=EnableFrameRateCounter value=true / 第一行是关键,告诉Silverlight应用程序可以使用GPU硬件加速。注意了,这里仅仅是说可以使用。 第二行是启用GPU硬件加速缓存验证,即将使用了硬件加速及没使用硬件加速的对象用颜色区分显示。 第三行限制Silverlight应用程序的最大刷新频率,这里我设置为40代表每秒画面刷新次数最大为40;然而这并不是必然的,Silverlight会根据实际情况当CPU本身负荷不大而需要同时呈现的对象变化频繁时它会在一定时间内将刷新率超过最大值约50%不过以提升画面的流畅性,这方面我们无法控制。 第四行启动画面帧率统计。 对象动态创建 Ellipse ellipse = new Ellipse(); ellipse.Width = 150; ellipse.Height = 150; ellipse.Fill = new SolidColorBrush(Color.FromArgb(255, 255, 0, 0)); canvas_parent.Children.Add(ellipse); 练习 动态产生一个矩形,填充红色 点击按钮,把它由屏幕左上角向右下角移动 如果距离左边大于300,则填充蓝色 一颗子弹向上飞 一颗子弹从指定的位置向上飞 一颗子弹从飞船所在的位置向上飞 public gameTest() { InitializeComponent(); rec = new Rectangle(); rec.Height = 50; rec.Width = 100; rec.Fill = new SolidColorBrush(Color.FromArgb(255, 255, 0, 0)); cnv.Children.Add(rec); } Rectangle rec; Point reclocation = new Point(0,0); private void button1_Click(object sender, RoutedEventArgs e) { CompositionTarget.Rendering += myRender; textBox1.Text = reclocation.X.ToString(); } private void myRender(object sender, EventArgs e) { reclocation.X += 1; reclocation.Y += 1; rec.SetValue(Canvas.LeftProperty, reclocation.X); rec.SetValue(Canvas.TopProperty, reclocation.Y);

文档评论(0)

ipbohn97 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档