C#手机游戏开发

C#手机游戏开发,c#,windows-mobile,frameworks,gdi+,C#,Windows Mobile,Frameworks,Gdi+,我目前正试图为WM 5.0设备实现一个大理石迷宫游戏,并且一直在努力开发一个工作原型。原型需要用户使用方向键控制球,并显示真实的加速度和摩擦力 我想知道是否有人有这方面的经验,可以给我一些建议,或者告诉我什么是最基本的,什么是做这件事的最好方法 提前谢谢 Frank。我建议您看看XNA Studio 3,它内置了对PC、Xbox 360和移动设备的支持,是微软Visual Studio的官方免费附带产品 如果你四处搜索,人们会用物理编写教程(这一个是velocity) 试试看。它是C++的,

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

我想知道是否有人有这方面的经验,可以给我一些建议,或者告诉我什么是最基本的,什么是做这件事的最好方法

提前谢谢


Frank。

我建议您看看XNA Studio 3,它内置了对PC、Xbox 360和移动设备的支持,是微软Visual Studio的官方免费附带产品

如果你四处搜索,人们会用物理编写教程(这一个是velocity)
试试看。它是C++的,但是对于移动设备来说,最酷的事情必须是C++。该网站有一些非常酷的免费游戏。你也可以看到大部分游戏的来源。很多都有你想要的物理特性。

不幸的是,XNA不支持windows mobile平台。然而,由于在WM设备上绘制的技术问题似乎没有问题,但是要实现基于物理的运动所需的逻辑,那么考虑XNA来模拟物理和运动代码不是一个坏主意。
查看网站上的一些教育主题,如果您感到困惑,尝试使用“更轻”的原型工具是没有错的。我会尝试Torque Game Builder——它提供XNA,尽管可能不是针对您的平台。

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


物理在游戏开发中的应用并不特定于Windows Mobile。你可以找到大量关于这个主题的文献。我现在想到了。如果你对游戏开发很认真,在任何平台上,你都应该先做一些研究。

我不知道这是否有帮助,但我在谷歌代码上看到了一个适用于Android平台的大理石应用程序。看看吧,这可能会让你对游戏的实际逻辑有所了解

该代码是开源的,并用java编写(使用android sdk),尽管如此,它可能还是有用的。为了更好地理解代码,请查阅SensorsManager、SensorEvent等的文档


我不建议使用与此应用程序相同的体系结构。

阅读您的答案时,我没有感觉到您正在寻找一个游戏框架,但更多的是:我如何能够轻松地建模一个具有加速度和摩擦力的球

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

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

  • 画迷宫的背景
  • 在ballX,ballY处绘制一个球(两个浮点变量)
  • 将ballSpdX添加到ballX,并将ballSpdY添加到ballY(速度)
现在检查钥匙

  • 如果方向键为左,则减去少量ballSpdX
  • 如果方向键位于左上角,则减去少量的ballSpdX和ballSpdY
对于碰撞,请执行以下操作:

  • 首先在水平方向上移动球。然后检查与墙壁的碰撞。如果检测到碰撞,则将球移回其先前位置并反转速度:ballSpdX=-ballSpdX
  • 沿垂直方向移动球。然后检查与墙壁的碰撞。如果检测到碰撞,则将球移回其先前位置并反转速度:ballSpdY=-ballSpdY
通过分别处理垂直和水平运动,碰撞更容易,因为您知道球需要反弹到哪一侧

最后一个nu并非最不重要的摩擦,摩擦只是在每帧中进行:ballSpdX*=摩擦; 摩擦力大约是0.99。这确保了由于摩擦,每帧球的速度都会变小


希望这能有所帮助

您可能想问一个关于在C#中仅使用WM设备方向键的单独问题。这本身就是一个困难的问题。除了他询问有关Windows Mobile的问题外,XNA在WinMo上不受支持。