`
rcfalcon
  • 浏览: 228042 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

silverlight超小游戏开发包SmallGameLib(三)—— Mouse终极大特训

阅读更多

继续使用咱们的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 5 开发工具包- 中文

    Silverlight网络游戏飞行岛2.0源码

    《Silverlight网络游戏飞行岛2.0源码》是一款基于Microsoft Silverlight技术开发的网络游戏,它展示了Silverlight在游戏开发中的应用。Silverlight是微软推出的一种RIA(Rich Internet Application)技术,用于创建...

    silverlight 3d游戏开发微软经典教程

    《Silverlight 3D游戏开发微软经典教程》是一本面向初学者的实践指南,旨在教你如何使用Microsoft Silverlight 3创建实时响应的在线三维游戏。本书涵盖了C#、XBAP(XAML Browser Applications)、WPF(Windows ...

    SL图文教程silverlight网页游戏开发教程

    《SL图文教程:Silverlight网页游戏开发》是一份详尽的教学资源,专为初学者设计,旨在引导没有SL(Silverlight)基础的人进入这个富媒体技术的世界。Silverlight是微软推出的一种强大的网络应用程序开发框架,尤其...

    Silverlight 4 RIA开发全程解析(完整版)

    使用《SilverLight 4 RIA开发全程解析》所阐述的在线业务的新特性,您可以创建一个与传统的基于ASP.NET的网站相比响应速度大为提高的Web应用程序。为了了解这些新特性以及改进的Silverlight工具包,我们在每一章中都...

    ASP.NET源码——[影音娱乐]Silverlight连连看游戏源码.zip

    总的来说,这个源码实例提供了一个将ASP.NET和Silverlight结合应用于娱乐应用的实例,对于提升开发者在Web游戏开发领域的技能和经验具有很大价值。通过分析和重构源码,你可以深化对这两种技术的理解,并能将其应用...

    C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial 前38节)

    C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(三十)大法师 - 华丽经典之轮回 C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(三十一) 超酷万变的矢量魔法 C#开发WPF/Silverlight动画...

    ASP.NET源码——[影音娱乐]Silverlight打苍蝇游戏.zip

    【ASP.NET源码——[影音娱乐]Silverlight打苍蝇游戏.zip】是一个包含ASP.NET源代码的压缩包,主要用于创建一款基于Silverlight技术的在线打苍蝇游戏。在这个项目中,我们将深入探讨ASP.NET框架、Silverlight技术以及...

    Silverlight RPG游戏开发课程(内容教案)

    在深入学习 Silverlight RPG 游戏开发之前,首先需要理解 Silverlight 的基本概念和技术优势。Silverlight 是微软推出的一种 Web 前端应用开发工具,它主要用于构建富互联网应用程序(RIA),并且以浏览器插件的形式...

    Silverlight游戏开发源码

    《Silverlight游戏开发源码》是一个专注于使用Silverlight技术进行3D游戏开发的资源集合,非常适合RIA(Rich Internet Application)的初学者和爱好者。Silverlight是微软推出的一种强大的Web应用程序框架,尤其在...

    Silverlight实例秀——可切换视图的DataTemplate

    在本文中,我们将深入探讨Silverlight中的一个关键特性——DataTemplate,以及如何利用它来创建一个可切换视图的功能。DataTemplate是Silverlight界面设计中的重要工具,它允许开发者定义数据对象如何在UI中呈现。在...

    Silverlight C# 游戏开发 资源的处理,图像算法

    如此之多如此之大的资源包绝对够咱们头疼的了,那么,今天提供一个算法来为咱们的Silverlight特效资源大瘦身,今次我们只讨论有透明的那种特效,没有透明的特效直接使用关键色镂空即可。  首先表明特效一定是图片...

    Silverlight 小游戏 俄罗斯方块

    【Silverlight小游戏——俄罗斯方块】 Silverlight是微软推出的一款基于浏览器的插件技术,用于创建丰富的、交互式的用户体验,特别是在多媒体和图形处理方面。它允许开发者使用.NET框架的C#、VB.NET或JavaScript等...

    ASP.NET源码——[影音娱乐]Silverlight星际竞技场游戏.zip

    总结来说,"ASP.NET源码——[影音娱乐]Silverlight星际竞技场游戏.zip"项目展示了ASP.NET和Silverlight在开发富媒体游戏中的强大能力,涉及了Web应用架构、数据库集成、用户认证、性能优化等多个方面,是学习和研究...

    Silverlight3.0 开发的游戏

    《Silverlight 3.0 开发的游戏》集合包含了一系列基于这一技术开发的趣味小游戏,如七彩俄罗斯方块、趣味钢琴、打苍蝇、连连看和星际竞技场贪吃蛇。这些游戏展示了Silverlight在创建互动式网页游戏方面的强大功能,...

    ASP.NET源码——[影音娱乐]Silverlight实现的MoveBox游戏.zip

    【总结】:"ASP.NET源码——[影音娱乐]Silverlight实现的MoveBox游戏.zip"提供了一个实践性的学习案例,涵盖了ASP.NET后端开发和Silverlight前端技术。通过研究这个项目,开发者可以增进对这两项技术的掌握,为未来...

    Silverlight开发工具

    微软SilverLight是一个能够设计、开发和发布有多媒体体验与富交互(RIA,Rich Interface Application)的网络交互程序。  因为SilverLight提供了一个强大的平台,能够开发出具有专业图形、音频和视频的Web应用程序...

Global site tag (gtag.js) - Google Analytics