C#手机游戏开发

时间:2008-11-26 21:44:20

标签: c# windows-mobile frameworks gdi+

我目前正在尝试为WM 5.0设备实施大理石迷宫游戏,并且一直在努力开发一个可用的原型。原型需要用户使用方向键控制球并显示逼真的加速度和摩擦力。

我想知道是否有人有这方面的经验,可以给我一些建议,或指出我正确的方向是什么是必要的,以及最好的办法来做这样的事情。

提前致谢。

弗兰克。

7 个答案:

答案 0 :(得分:1)

在阅读你的答案时,我并没有感觉到你正在寻找一个游戏框架,而是更多:我怎么能用加速和摩擦轻松地模拟一个球。

为此你不需要一个完整的物理框架,因为它相对简单:

首先创建一个每秒触发30次的计时器,并在计时器回调中执行以下操作:

  • 绘制迷宫背景
  • 在ballX,ballY(两个浮点变量)
  • 上画一个球
  • 将ballSpdX添加到ballX并将ballSpdY添加到ballY(速度)

现在检查按键......

  • 如果留下方向键,则减去少量ballSpdX
  • 如果方向键是topleft,则减去少量ballSpdX和ballSpdY

对于碰撞,请执行以下操作:

  • 首先沿水平方向移动球。然后检查与墙壁的碰撞。如果检测到碰撞,则将球移回其先前位置并反转速度:ballSpdX = -ballSpdX
  • 沿垂直方向移动球。然后检查与墙壁的碰撞。如果检测到碰撞,则将球移回其先前位置并反转速度:ballSpdY = -ballSpdY

通过单独处理垂直和水平移动,碰撞更容易,因为你知道球需要反弹到哪一侧。

最后nu不仅仅是摩擦,摩擦只是每帧都这样做:ballSpdX * =摩擦; 摩擦力大约为0.99。这样可以确保由于摩擦,球的速度每帧都变小;

希望这有帮助

答案 1 :(得分:0)

我建议查看XNA Studio 3,它内置支持PC,Xbox 360和移动设备,它是官方的&从Microsoft免费剥离Visual Studio。

http://creators.xna.com/en-US/

http://blogs.msdn.com/xna/

如果你四处搜寻,人们已经使用物理学写了教程(速度在这个上) http://www.xnamachine.com/2007/12/fun-with-very-basic-physics.html

答案 2 :(得分:0)

试试XFlib。它是用c ++编写的,但不幸的是,移动设备的大部分内容都必须使用c ++。该网站有一些非常酷的免费游戏。你也可以看到大部分游戏的来源。很多人都有你想要的物理学。

答案 3 :(得分:0)

不幸的是,XNA不支持Windows移动平台。然而,由于您似乎没有遇到在WM设备上绘制技术问题的问题,但是由于实现基于物理的运动所需的逻辑,那么考虑XNA对物理和运动进行原型设计并不是一个坏主意。代码。

查看creators.xna.com以及"gamedev.net"

上的一些教育主题

答案 4 :(得分:0)

如果你不知所措,那么尝试使用“更轻”的原型工具是没有错的。我会试试Torque Game Builder - 它吐出XNA,虽然可能不适合你的平台。

答案 5 :(得分:0)

在Windows Mobile SDK的示例(也查看WM 6.0 SDK)中,有几个游戏应用程序。其中一个是简单的益智游戏;不多,但这是一个起点。

在游戏开发中使用物理不是特定于Windows Mobile。你可以找到关于这个主题的大量文献。 This现在出现在我脑海中。如果您对游戏开发非常认真,那么在任何平台上都应该先进行一些研究。

答案 6 :(得分:0)

我不知道这是否有帮助,但我在谷歌代码上看到了Android平台的Marble应用程序。看看here,它可能会对游戏的实际逻辑有所了解。

代码是开源的,用java编写(使用android sdk),但它可能很有用。另外,为了更好地理解代码,请查看SensorsManager,SensorEvent等文档here

我不建议您使用与此应用程序相同的架构。