问题标签 [xna]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
10 回答
63316 浏览

drawing - 如何使用 XNA 画线?

我已经阅读了一堆涉及 XNA 的教程(并且是各种版本),但我对绘制原语仍然有些困惑。一切似乎真的很复杂。

有人可以使用代码向我展示在屏幕上绘制一两条线的最简单的 XNA 实现吗?也许有一个简短的解释(包括样板文件)?

我不是游戏程序员,也没有多少 XNA 经验。我的最终目标是在屏幕上绘制一些线条,最终我将通过旋转等(手动)进行转换。然而,对于这第一步..我需要简单地画线!我记得在我古老的 OpenGL 时代,用几个方法调用画一条线是相当简单的。我应该简单地恢复使用非托管 directx 调用吗?

0 投票
5 回答
885 浏览

c# - 需要一个等效的 XNA 框架,可以与 system.windows.forms 一起使用(它不必与 XBox 360 一起使用)

下学期我将参加“软件实践 II”课程。在那堂课上,我的教授要我们学习 XNA。我玩 XNA 已经有一段时间了,喜欢它的功能性和简单性。但是,XNA 没有利用 System.Windows.Forms。使用CEGUI#我能够让 XNA 与 System.Windows.Forms 一起工作,但它的功能有限(例如,虽然鼠标有“左键单击”和“左键双击”,但它没有“拖”)。

因此,我放弃了 XNA,转而使用了一个新框架。这是我的问题——>是否有一个 C# 框架具有 XNA 的所有功能和简单性,但也与 System.Windows.Forms 完全兼容(或者,如果我使用的话,至少与 System.Windows.Forms 完全兼容第三方工具)?该框架不必与 XBox360 一起使用 - 它只需要与 Windows XP 和 Windows Vista 一起使用。我希望它具有与 XNA 相似的语法(换句话说,具有类似的方法,如 LoadContent、Draw 和 Update)。

感谢您的时间,

~本舒姆斯

0 投票
2 回答
534 浏览

.net - 将 MAME 或 SCUMMVM 移植到 .NET(XNA 或 Silverlight)的最佳方法是什么?

我想知道移植这些仿真器引擎的主要挑战是什么。

无需重写所有代码就可以成功吗?任何可用的转换工具可以提供帮助?

0 投票
5 回答
1349 浏览

xna - 在 Delphi Prism 中做 XNA

我已经安装了 Delphi Prism 和 XNA Game Studio 3.0。我已成功翻译为 Delphi Prism XNA 教程 1“在屏幕上显示 3D 模型”(http://msdn.microsoft.com/en-us/library/bb197293.aspx)。项目编译良好,但我无法加载模型。看起来XNA中有一个新的“contentproj”类型不在Delphi Prism中......知道如何让它工作吗?

0 投票
7 回答
64038 浏览

.net - 为什么 Visual Studio 无法打开 .csproj 文件?

我有一个奇怪的问题,我无法在 Visual Studio 中打开我的 .NET 项目的属性。如果我尝试通过单击解决方案资源管理器中的属性树节点来打开它,我会收到以下消息:

没有可用于“....csproj”的编辑器。确保已安装文件类型 (.csproj) 的应用程序。

如果我尝试通过主菜单打开项目属性,则根本没有任何反应。

我已经尝试通过命令行和修复安装重置 Visual Studio 设置,但到目前为止没有任何帮助。

我在 9.0.30729.1 SP 版本中使用 Visual Studio 2008,包括 XNA Game Studio 3.0、ReSharper 4.1 和 Visual SVN 1.5.1。

它发生在我所有的项目中,似乎是一个本地问题,因为我的同事没有这种问题。

非常感谢您的帮助!

谢谢,迈克尔

0 投票
13 回答
5011 浏览

c# - C#/.NET 作为新标准游戏开发平台的可行性?

长期以来,C++ 一直是主导的游戏开发语言。许多 AAA 质量的 3D 引擎可满足任何预算。

我的问题是,随着 XNA 的兴起,C# 和 .NET 框架的定位是否足以成为新的标准游戏开发平台?显然,XNA 框架(Windows、Xbox、Zune)固有的跨平台特性有其优势,但这些优势足以吸引大型游戏开发工作室转换吗?

就个人而言,我在为新项目使用 C#/XNA 和通过 jMonkeyEngine 使用 Java 之间纠结。我非常希望我的游戏可以移植到多个平台,而我知道的唯一能够实现这一点的语言是 C# 和 Java。我很想看到一个由 OpenGL 提供支持并在 Mono 上运行的 XNA 代码库的实现,但我认为这只是一厢情愿的想法。

我很想知道其他人在用 C++ 以外的东西构建 3D 游戏时的经历。

0 投票
1 回答
332 浏览

.net - 你如何管理和组织你的游戏组件?

在业余时间,我正在使用 Microsoft 的 XNA 框架编写一个小游戏。回顾我为熟悉 XNA 而编写的第一个原型,我发现无法以分层方式构建我的(可绘制的)游戏组件,这很烦人。为了做到这一点,我接近实现一种Composite(可绘制) 。GameComponent但在重新发明轮子之前,我问你:你更喜欢用什么方式来管理和构建分层相关的游戏组件?

谢谢,普伦森

0 投票
5 回答
21480 浏览

c# - XNA - 键盘文本输入

好的,所以基本上我希望能够检索键盘文本。就像在文本字段中输入文本或其他内容。我只是在为 Windows 编写我的游戏。我忽略了使用 Guide.BeginShowKeyboardInput,因为它破坏了独立游戏的感觉,而且 Guide 总是显示 XBOX 按钮的事实对我来说似乎也不合适。是的,这是最简单的方法,但我不喜欢它。

接下来我尝试使用 System.Windows.Forms.NativeWindow。我创建了一个继承自它的类,并将游戏窗口句柄传递给它,实现了 WndProc 函数以捕获 WM_CHAR(或 WM_KEYDOWN),尽管 WndProc 被调用以获取其他消息,WM_CHAR 和 WM_KEYDOWN 从未这样做过。所以我不得不放弃这个想法,此外,我还引用了整个 Windows 窗体,这意味着不必要的内存占用膨胀。

所以我的最后一个想法是创建一个线程级的低级键盘钩子。这是迄今为止最成功的一次。我收到 WM_KEYDOWN 消息,(尚未尝试 WM_CHAR)将带有 Win32 函数 MapVirtualKey 的虚拟键码转换为字符。我得到了我的文字!(我现在只是用 Debug.Write 打印)

不过有几个问题。就好像我有大写锁定和无响应的换档键。(当然不是,只是每个键只有一个虚拟键代码,因此翻译它只有一个输出)并且它会增加开销,因为它将自身附加到 Windows 挂钩列表并且不如我快我喜欢它,但速度慢可能更多是由于 Debug.Write。

有没有其他人解决了这个问题,而不必求助于屏幕键盘?或者有没有人有进一步的想法让我尝试?

提前致谢。

吉米提出的问题

也许我不明白这个问题,但你为什么不能使用 XNA 键盘和 KeyboardState 类?

我的评论:

这是因为尽管您可以读取键状态,但您无法访问键入的文本以及用户键入的方式。

所以让我进一步澄清。我想实现能够读取用户的文本输入,就好像他们正在输入文本框是窗口一样。键盘和 KeyboardState 类获取所有键的状态,但我必须将每个键和组合映射到它的字符表示。当用户不使用与我使用相同的键盘语言特别是符号时(我的双引号是 shift + 2,而美式键盘在返回键附近的某个地方),这就会失败。


看来我的窗口挂钩是要走的路,只是我没有得到 WM_CHAR 的原因是因为 XNA 消息泵不翻译消息。

每当我收到 WM _KEYDOWN 消息时添加 TranslateMessage 意味着我收到了 WM_CHAR 消息,然后我使用它在我的 KeyboardBuffer 类订阅的 MessageHook 类中触发字符类型事件,然后将其缓冲到文本缓冲区:D(或StringBuilder,但结果是一样的)

所以我让这一切都按我的意愿工作。

非常感谢 Jimmy 提供了一个非常有用的线程的链接。

0 投票
4 回答
1368 浏览

c# - 最快的类型比较?

以下事件可能每帧调用数百次。

我知道使用“is”会导致进行演员表,然后当我想用它做某事时,再次转换它。有没有更有效的方法来检查类型?我制作了一个控制台应用程序尝试“if(body2.Tag.GetType() == typeOf(Dog))”,但它似乎比使用“is”还要慢。

谢谢。

0 投票
6 回答
2537 浏览

.net - 用于非游戏相关 3D 图形编程的托管 Direct3D 或 XNA?

哪种是进行 .NET 3D 图形编程的首选方法: Direct3D 或 XNA 似乎是当前技术,但哪种技术最适合非游戏相关的编程?

此外,Managed Direct 3D 是否已停产?XNA 似乎并不适合非游戏开发。