windowsphone开发平衡球游戏制作.docx

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
windowsphone开发平衡球游戏制作

小时候,我就想要自己做游戏,今天的技术已经发展得如此便利,我们可以很容易地创建简单的游戏。本文试图建立一个可重用的基于组件的游戏框架,减少了我们建立基于物理引擎的XNA游戏所需的时间。我认为我们应该先明确一点,先建立一个游戏的基础代码,然后逐个解决我们要处理的问题。因此,我们先建立非常简单,但很容易上瘾的游戏类型,即玩家只需要在物体每次跳跃时击中地面,同时控制物体的向左和向右的运动。对于不断滚动而向前的移动,玩家很难控制的,也无法掌握游戏的速度。这种额外操作会加大玩游戏的难度,毕竟游戏吸引的玩家在不同的级别(包括新手,正常水平,骨灰级牛B玩家),所以我们将建立一套不同的困难与不同关卡。关于游戏的目标,除了生存,玩家需要收集更多的得分与奖励(我们需要考虑我们如何实现它),这是我们的想法。根据上述的想法,你所需要的基本的东西,就包括关卡选择场景,游戏场景(场景系统),物理碰撞(Farseer物理对象),得到玩家左,右运动的输入按钮,得分系统(毕竟这是一场比赛,他们需要一些目标,我们的游戏的目标是取得尽可能多的玩家)。在这里我不得不感谢一直支持我的/卤面网版主,是他让我提起兴趣写了这么一篇文章,再次感谢/卤面网,一个非常不错的/wp7开发论坛,后面我也将再次向大家发布几篇高质量文章,请大家到卤面上找我吧,呵呵 进入正题:Farseer物理引擎3.2和XNA 4什么是物理引擎,为什么我们需要这个?物理引擎,使物体以一种我们正常世界接受的方式移动,使他们服从现实世界的物理规则。从比赛的角度来看,一个物理引擎仅仅是一个功能性的动画系统。我们可以建立一个我们自己的,但又不需要我们关心太多的以物理规则运动的对象。我们的目标是快速和可靠的制作游戏,因此,我们不打算自己去做物理引擎,而将使用现有的Farseer物理引擎(V3.2)。Farseer物理引擎的背景Farseer物理引擎是一个Box2D的C#版本。Box2D的是一个2D刚体模拟游戏开发库。Farseer物理引擎是一个模拟真实的物理反应的碰撞检测系统。让我们从基本知识开始。若要使用Farseer物理引擎你需要知道如下所述的4点:1。世界:这是对象,它包含一切,你可以把它与现实世界比较。它确定了以一定规则移动的物体,并确保一切的运转是一致,稳定的。/ / 创建一个新的世界与重力方向向下10。World MyWorld = new World(-Vector2.UnitY * 10); 2.Body:不像现实世界,他们没有任何预设的结构或形状。body跟踪world的位置,并受碰撞或重力的影响。以下是有关body类型的细节。StaticBody:在模拟环境下,这种body不动,他们不与其他静态或动态物品相撞。 如果开发者希望将它们移动,当然也是可以的。KinematicBody:它模拟有移动速度的物品。Kinematic bodies 不受外力影响。开发者可以强制动移动它们,但大多时候只是设置它的速度。他们不与其他StaticBody或KinematicBody碰撞。DynamicBody:它总是具有非零的具体质量(不会无穷大)。它可以与任何类型的bodies碰撞。/ * 创建一个新的Static Body,并添加到当前的世界对象中,以便它可以通过引擎更新位置。*/Body MyBody = new Body(World);MyBody.IsStatic = true;3。Shapes :它是2D结构的body,表示物体在世界上占有多少空间,如:多边形,方形,圆形等,在计算的惯性,质量,质心和其它相关的东西时,需要这个属性。Shapes 可以独立于Body使用。总之 body有它的位置和速度,并可以受外力,推动,和扭矩的作用。?/ * 创建一个新的半径为10,密度为25的圆形。* /?CircleShape MyCircle = new CircleShape(10, 25);4。Fixture:它表示body和shape之间的黏着性。Fixture和shape,body都有关系,还提供了类似摩擦性能,恢复原状(弹跳能力,我猜),密度等属性,Fixture与碰撞有一定的相关性,比如说,形状间碰撞的效果是由他影响的。Fixture MyFixture = new Fixture(MyBody, MyShape);关节:这是两个或两个以上的物体共同的连接点。在游戏中的典型例子包括布娃娃,摇摇坠,及滑轮。可以以许多不同的方式组合关节来创造有趣的效果。有多种类型的关节,如Angle Joint, Distance Joint, Friction Joint, Revolute Joint, Gear Joint, Line Joint, Prismatic Joint, Pulley Joint,

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档