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

相关文章
|
2月前
|
存储 开发框架 .NET
【C#】C# 基础语法与游戏开发
【1月更文挑战第21天】【C#】C# 基础语法与游戏开发
|
2月前
|
存储 开发框架 .NET
【C#】认识C# (为了游戏开发 O(≧口≦)O)
【1月更文挑战第26天】【C#】认识C# (为了游戏开发 O(≧口≦)O)
|
存储 C# 图形学
Unity游戏开发之C#快速入门
Unity游戏开发之C#快速入门C#是微软团队在开发.NET框架时开发的,它的构想接近于C、C++,也和JAVA十分相似,有许多强大的编程功能。个人感受是C#吸收了众多编程语言的优点,从中可以看到C、C++、Java、Javascript、python的影子,设计思想都是相通的(过段时间一定要看看设计模式),对比迁移地学习基本只需要记关键字、语法和包的用法。
1667 0