继续使用咱们的SmallGameLib开发!
这次我们做一个玩家通过鼠标控制一只老鼠,躲避来自四面八方的小虫的攻击。
若被小虫碰到,则Game Over。
整个游戏分为3个界面,
1。 难度选择
2。 游戏主界面
3。 GAMEOVER,给出得分和评价。
难度越大,则小虫越多。
首先导入我们的SmallGameLib的各个目录,修改Config下的GameStatus,根据我们的需求,修改如下:
public enum GameStatus
{
难度选择,
开始,
游戏中,
游戏结束,
}
游戏过程中一共有2种物体,一种是主角(也就是老鼠),一种虫子。
那么我们需要将这两者从 BaseObj 派生,分别完成其构造函数,帧逻辑函数。
然后,注意,我们这里需要在游戏中进行碰撞检测,所以我们还需要重载BaseObj的getMyBounderRect()方法,来给其指定碰撞检测盒。
在调试过程中,可以将对象的 BoundVisiable 属性设成 true来观测碰撞盒。效果如下图
getMyBounderRect指定的是针对物体左上角点的一个矩形框。
如何检测两物体相撞呢?很简单,首先可以通过物体的 getBounderRect方法获取其包围框的绝对位置(针对于整个画布的位置)
然后通过 MathTools 的IsHit方法判断是否相撞,
MathTools.IsHit( obj.getBounderRect(),mouser.getBounderRect() = true 则两者相撞
整个游戏采用一个层就够了,于是在Logic下新建Layer派生自BaseLayer。
下面写我们的Layer层逻辑。层逻辑实际分4步:
1。 向所属物体派发逻辑
2。 移除窗口外的物体
3。 随机在窗口四周生成小虫
4。 判断是否有小虫和老鼠相撞
如下所示:
base类(BaseLayer)提供的 logic()即向所属物体派发逻辑, removeObjectsOutside方法可以移除窗口外的物体。
使用MathTools的IsProbEventHappen可以以一定概率发生事件。返回为true则发生,false不发生。
最后编写我们的游戏核心,派生自 GameEngine类,需要实现状态机以及界面调度。
GameCore.cs
如何在屏幕四周生成点?
使用MathTools提供的RandomBorderPoint()方法,可以随机生成一个处于边框位置的点。
最后,提供试玩地址:
http://218.240.31.225:902/testsilverlight/catchmouse/
看看你在变态难度能坚持多久~
分享到:
相关推荐
Silverlight 5 开发工具包- 中文
《Silverlight网络游戏飞行岛2.0源码》是一款基于Microsoft Silverlight技术开发的网络游戏,它展示了Silverlight在游戏开发中的应用。Silverlight是微软推出的一种RIA(Rich Internet Application)技术,用于创建...
《Silverlight 3D游戏开发微软经典教程》是一本面向初学者的实践指南,旨在教你如何使用Microsoft Silverlight 3创建实时响应的在线三维游戏。本书涵盖了C#、XBAP(XAML Browser Applications)、WPF(Windows ...
《SL图文教程:Silverlight网页游戏开发》是一份详尽的教学资源,专为初学者设计,旨在引导没有SL(Silverlight)基础的人进入这个富媒体技术的世界。Silverlight是微软推出的一种强大的网络应用程序开发框架,尤其...
使用《SilverLight 4 RIA开发全程解析》所阐述的在线业务的新特性,您可以创建一个与传统的基于ASP.NET的网站相比响应速度大为提高的Web应用程序。为了了解这些新特性以及改进的Silverlight工具包,我们在每一章中都...
总的来说,这个源码实例提供了一个将ASP.NET和Silverlight结合应用于娱乐应用的实例,对于提升开发者在Web游戏开发领域的技能和经验具有很大价值。通过分析和重构源码,你可以深化对这两种技术的理解,并能将其应用...
C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(三十)大法师 - 华丽经典之轮回 C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(三十一) 超酷万变的矢量魔法 C#开发WPF/Silverlight动画...
【ASP.NET源码——[影音娱乐]Silverlight打苍蝇游戏.zip】是一个包含ASP.NET源代码的压缩包,主要用于创建一款基于Silverlight技术的在线打苍蝇游戏。在这个项目中,我们将深入探讨ASP.NET框架、Silverlight技术以及...
在深入学习 Silverlight RPG 游戏开发之前,首先需要理解 Silverlight 的基本概念和技术优势。Silverlight 是微软推出的一种 Web 前端应用开发工具,它主要用于构建富互联网应用程序(RIA),并且以浏览器插件的形式...
《Silverlight游戏开发源码》是一个专注于使用Silverlight技术进行3D游戏开发的资源集合,非常适合RIA(Rich Internet Application)的初学者和爱好者。Silverlight是微软推出的一种强大的Web应用程序框架,尤其在...
在本文中,我们将深入探讨Silverlight中的一个关键特性——DataTemplate,以及如何利用它来创建一个可切换视图的功能。DataTemplate是Silverlight界面设计中的重要工具,它允许开发者定义数据对象如何在UI中呈现。在...
如此之多如此之大的资源包绝对够咱们头疼的了,那么,今天提供一个算法来为咱们的Silverlight特效资源大瘦身,今次我们只讨论有透明的那种特效,没有透明的特效直接使用关键色镂空即可。 首先表明特效一定是图片...
【Silverlight小游戏——俄罗斯方块】 Silverlight是微软推出的一款基于浏览器的插件技术,用于创建丰富的、交互式的用户体验,特别是在多媒体和图形处理方面。它允许开发者使用.NET框架的C#、VB.NET或JavaScript等...
总结来说,"ASP.NET源码——[影音娱乐]Silverlight星际竞技场游戏.zip"项目展示了ASP.NET和Silverlight在开发富媒体游戏中的强大能力,涉及了Web应用架构、数据库集成、用户认证、性能优化等多个方面,是学习和研究...
《Silverlight 3.0 开发的游戏》集合包含了一系列基于这一技术开发的趣味小游戏,如七彩俄罗斯方块、趣味钢琴、打苍蝇、连连看和星际竞技场贪吃蛇。这些游戏展示了Silverlight在创建互动式网页游戏方面的强大功能,...
【总结】:"ASP.NET源码——[影音娱乐]Silverlight实现的MoveBox游戏.zip"提供了一个实践性的学习案例,涵盖了ASP.NET后端开发和Silverlight前端技术。通过研究这个项目,开发者可以增进对这两项技术的掌握,为未来...
微软SilverLight是一个能够设计、开发和发布有多媒体体验与富交互(RIA,Rich Interface Application)的网络交互程序。 因为SilverLight提供了一个强大的平台,能够开发出具有专业图形、音频和视频的Web应用程序...