65.9K
CodeProject 正在变化。 阅读更多。
Home

使用 GameDrawNet.dll 的游戏

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.67/5 (4投票s)

2008 年 7 月 10 日

CPOL

4分钟阅读

viewsIcon

19067

downloadIcon

169

对于 Pocket PC 上的游戏,你不应该使用 GDI+。一个解决方案:Gapidraw!

CSharpGapiDrawNet/image1.JPG

前言

首先,我想说这是我的第一篇文章。所以你可以随意吐槽,但请理解我无法利用这些信息来改进这篇文章。我发布这篇文章不是为了让你从中学习任何东西,只是为了分享一些东西,这样你就可以从中获得乐趣并在这个过程中学习。

其次,虽然我包含了 GapiDraw.dll,但请不要在商业应用中使用它。你不能。请到 www.gapidraw.com/ 购买该产品。我只将这个库用于爱好,虽然爱好可能花费很多,但我不想在库上花费太多。我使用它的原因很简单,它快速、简单,你可以在非商业应用中使用它,除非你不介意启动横幅。此外,对于我有些奇怪的语言使用,我表示歉意。

最后,我希望得到一些关于…任何事情的反馈。

带着遗憾...

引言

我注意到在 CodeProject 上有一些针对 compact framework 的游戏,但其中一些真的非常慢,这在某些使用 GDI+ 的游戏中是意料之中的。在只有 400MHz 的设备上,你需要一个更好的解决方案。

示例图片
注意:此帧速率在模拟器上较低。在我的设备上,此场景以 15 fps 运行

背景

我几个月前买了一个 PocketPC。我真的很喜欢这个设备,原因有很多。然而,我真的不喜欢的一个原因是,这个设备上没有平台游戏!一个都没有。至少没有我所知道的足够有趣的游戏。如果你找到一个(模拟器或某种),你会发现玩它是一种罪过。然而,我还是想玩它。

所以,我决定自己制作一个游戏。这篇文章根本不是关于游戏的,而是关于我如何使用 GapiDraw 用 C# 开发游戏。 GapiDraw 是一个不错的工具包,用于 Pocket PC 和一些其他平台(如 Symbian)的游戏编程。如果你想了解更多关于 GapiDraw 的信息,那么我不是你合适的人,请访问 www.GapiDraw.com,自己阅读。然而,它主要用于 C++。

然而,我不用 C++,所以我不能使用它。所以我搜索了一个包装器,但只能找到 www.intuitex.com/ppcdev.html 上有些过时的版本。我使用该版本作为基础,使其与 GapiDraw 3.6 兼容。(而且它似乎与 3.8 也能很好地工作)。

好吧,我还在 pocketmatrix 上注意到一些人要求提供包装器,但他们没有,所以为什么不分享它并在过程中改进它呢。

示例图片
注意:我的有漏洞的游戏编辑器的图片。
CSharpGapiDrawNet/2008.5.3.151512_1_.png

Using the Code

你应该习惯导入引用,并且你应该对在 Pocket PC 上编程有所了解。例如,你不能使用相对路径。然而,GapiDrawNet 为你做了这件事!所以你只需要调用与可执行文件在同一文件夹中的位图。对于需要在游戏中加载的所有其他东西,比如 XML,你可以使用我的简单的 IOManager。它只有一个函数,它返回正在运行的可执行文件的路径,所以将该字符串与你的文件相对于可执行文件组合起来,你就不会出错...至少经过一些尝试之后。

本文包含

  • 包装器和 GapiDraw.dll 的非商业版本 (v3.8)
  • 我的示例测试应用程序
  • VGA 字体。我调整了内置版本的大小,使其更易于使用 VGA 阅读。
  • FMOD 3.75 包装器和我的围绕它的包装器

支持

我无法解释每一个细节,因为那将是太多的工作,并且你真正需要的所有信息都可以在 http://www.gapidraw.com/docs/gapidraw/ 找到。描述说明得足够了,但如果你会读 C++ 可能会有所帮助(它总是有帮助,除非你习惯了 brainf*ck :))。欢迎随时提问。

关注点

我希望有一些人感兴趣,因为我想看到更多 Pocket PC 游戏,而且我无法忍受一些 GDI+ 应用程序游戏中的帧速率。

历史

  • 2008 年 7 月 10 日 - 原文发布
© . All rights reserved.