Silverlight C# 游戏开发:Flyer02 从第一行代码写起

简介:

前面的Flyer01说过,用Silverlight开发游戏可以通过代码方式和Blend开发工具完成,Blend的视图开发环境和Flash的很像,但是更加强调是程序结合,从不怎么明显的动画轴就知道,而Silverlight也不是和Flash一样离开了开发工具就完全不能开发,我打算通过这个简陋的例子让朋友知道,如何只用代码的方式开发一个Silverlight游戏。

一,需要一个环境,这个可以在这篇中找到答案Silverlight C# 游戏开发:Silverlight开发环境

二,建立一个Silverlight工程,然后开始编写代码:)

 

第一开始,我们需要一个窗口来呈现整个游戏的内容,那么我需要在XAML中添加如下代码:

 

上面的意义是,在一个空间为400x400中加入一个画布,背景颜色为蓝色,至于这方面内容参看这个Silverlight C# 游戏开发:关于精灵for Silverlight容器

现在,在工程里添加一个类,如果你喜欢直接添加代码文件也不错,我这个人比较懒,自动的爽些

 

写如下代码,其意义是一个继承自Canvas的云彩控件,在这个控件中增加一个Image,Image不能继承不能作为基类,所以我们使用一个Canvas作为容器。

可是,我们的资源在这里呢?需要准备一套图片,然后添加到工程当中,在这里加了一个Src的目录,如下图所示:(文件在下面的附件中可以下载)

 

 

  

 

现在在MainPage类中添加如下代码:

 

运行一下就可以看到效果:

 

我们看到一个云彩在页面当中,这是使用纯代码形式显示的第一张图片,在这个结构中,ClassCloud类是继承自Canvas的控件,里面有一个Image的控件,虽然说起来很麻烦,但是并不复杂,相信应该能够很容易理解,但是一个片云彩没有什么意思,我们最终的目的是想让其飘动起来,但是怎么做到呢?最主要的,首先是可以控制它的坐标:

 

上面的XY可以直接控制自身的坐标,这里就不用做实验了……云彩肯定是一堆云彩,会有很多个,这样的话,就需要另外一个容器装载这些云彩,为了让结构清晰,咱们设定一个ClassCloudGroup用来管理这些云彩,同时,这个也是一个控件容器:

 

 

上面的代码意思是创建一个容器,指定数量的创建云彩,只需要在MainPage的构造函数中增加出来,然后添加窗口中,运行效果如下:

 

现在出现了很多云彩,随机分布在蓝色背景上, OK,那么下一步就是让他们动起来,由于设定的游戏是向下飞行,那么云彩应该向上飘动,因此我们在云彩组里加入如下的代码:

 

运行效果如下:

 

为了更加好看,我做了一些特殊处理,详细参见源代码吧:点击这里下载

代码上做了一些有趣的修正,可能和上述的代码不一致,但是有详细的注释,相信应该对大家有个帮助。

这是游戏最有魅力的地方,你能通过操作创造一个世界,这是一个单纯的简单背景,那么下次,咱们一起和飞行员飘落:)



本文转自nowpaper 51CTO博客,原文链接:http://blog.51cto.com/nowpaper/712596

相关文章
|
15天前
|
存储 开发框架 .NET
【C#】C# 基础语法与游戏开发
【1月更文挑战第21天】【C#】C# 基础语法与游戏开发
|
15天前
|
存储 开发框架 .NET
【C#】认识C# (为了游戏开发 O(≧口≦)O)
【1月更文挑战第26天】【C#】认识C# (为了游戏开发 O(≧口≦)O)
|
15天前
|
开发框架 前端开发 .NET
C#编程与Web开发
【4月更文挑战第21天】本文探讨了C#在Web开发中的应用,包括使用ASP.NET框架、MVC模式、Web API和Entity Framework。C#作为.NET框架的主要语言,结合这些工具,能创建动态、高效的Web应用。实际案例涉及企业级应用、电子商务和社交媒体平台。尽管面临竞争和挑战,但C#在Web开发领域的前景将持续拓展。
|
15天前
|
SQL 开发框架 安全
C#编程与多线程处理
【4月更文挑战第21天】探索C#多线程处理,提升程序性能与响应性。了解C#中的Thread、Task类及Async/Await关键字,掌握线程同步与安全,实践并发计算、网络服务及UI优化。跟随未来发展趋势,利用C#打造高效应用。
|
15天前
|
存储 安全 网络安全
C#编程的安全性与加密技术
【4月更文挑战第21天】C#在.NET框架支持下,以其面向对象和高级特性成为安全软件开发的利器。本文探讨C#在安全加密领域的应用,包括使用System.Security.Cryptography库实现加密算法,利用SSL/TLS保障网络传输安全,进行身份验证,并强调编写安全代码的重要性。实际案例涵盖在线支付、企业应用和文件加密,展示了C#在应对安全挑战的同时,不断拓展其在该领域的潜力和未来前景。