在为pc开发xna游戏时,一个问题是人们使用不同的分辨率。但是当目标电脑的分辨率低于游戏时会发生什么?我必须使用矢量图形吗?使用较低分辨率的唯一方法是缩小视口(viewport),但我不想这样做。我测试了将分辨率设置为超高清,但它在我的全高清屏幕上保持全高清。全高清只是xna的最大值,还是当它较低时游戏会自动使用屏幕分辨率?游戏全屏运行。 最佳答案 这个问题的一个常见解决方案是始终将游戏渲染到设定的分辨率,然后缩放整个屏幕图像以适合。如何执行此操作的示例可以在XNAresizewindowwithoutincreasingresol
首先让我为尺寸道歉我会尽量保持它尽可能小在尝试完全按照维基百科上所说的那样构建prim的算法后,我发现它无法按照我构建的迷宫方式运行。所以我尝试做同样的想法来适应我的迷宫,但我看到了一个奇怪的错误,当我的游戏开始时,它只是没有正确地build我的迷宫,我不知道为什么这是偶尔发生的事情其他时候它工作得很好,所以我有一个publicDictionary>maze当它开始时,它占据了迷宫,迷宫是所有的树篱,然后我继续像这样build路径privatestaticvoidbuildPath(){List>ends=newList>();ends.Add(newKeyValuePair(newM
我正在使用XNA开发一款手机游戏,它有一个开关,只要点击它就会改变状态。我的问题是它会通过一次点击快速变化多次。我该如何阻止它? 最佳答案 存储上次使用游戏内开关的时间并计算通过的时间跨度if(buttonPressed&&(Datetime.Now-timeLastInGameSwitchActivated).Milliseconds>1000){ToggleIngameSwitch();timeLastInGameSwitchActivated=Datetime.Now;} 关于c#
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。Xna不受支持,不幸的是我最近才开始游戏编程(~9个月)。DirectX或OpenGl哪个更好。现在,我不认为DirectX或OpenGl有用于C#的官方库,那么对于新手来说哪个更好?我听说过诸如Mono、SharpDx和SlimDx之类的东西。但是DirectX是否比OpenGl有任何优势,反之亦然。还有,Mono、SharpDx、SlimDx这些叫什么
我正在开发WindowsPhone7XNA游戏。它是用C++编写的游戏的一个端口,因此,我正在尝试尽可能少地重写游戏代码。垃圾是WP7上的一个巨大问题,因为收集器是非分代的并且很慢,所以收集(每1MB触发一次)每MB分配大约需要10毫秒。我完全打算使用最大90MB的可用空间,因此我们正在寻找每MB分配约900ms的停顿。我已经能够重做一些东西,这样我们就不会每帧生成垃圾,除了少数字符串。似乎StringBuilder.ToString()产生垃圾,方法描述here不适用于WP7。我需要做的两件事是:将分/秒/百分制格式化为mm:ss.hh以便在屏幕上显示。显然,我可以使用StringB
我有一个项目模板我做错了,想删除。我从输出位置删除了zip文件并运行了devenv/installvstemplates和devenv/setup,当我打开VS并尝试添加一个新项目时,它仍然存在。更奇怪的是,我仍然可以使用它并创建文件的副本,所以它一定存在于某个地方。安装后visualstudio是否在某处存储我需要删除的文件?我也无法更改模板,无论我做什么,它都保持不变。编辑:如果它有所不同,我正在使用XNAGS4.0 最佳答案 VisualStudio可以在几个地方存储模板。从以下任何位置删除.zip文件应将其从列表中删除:%L
我正在学习XNA和几乎所有在http://creators.xna.com/en-US/上找到的教育工具包.我总是在向量上看到对Normalize()的调用。我知道normalize基本上将向量转换为单位长度,所以它给出的只是方向。现在我的问题是什么时候规范化以及它到底对我有什么帮助。我正在做2D编程所以请解释2D概念而不是3D。编辑:这是XNA套件中的代码,那么为什么要调用Normalize?if(currentKeyboardState.IsKeyDown(Keys.Left)||currentGamePadState.DPad.Left==ButtonState.Pressed)
我正在使用XNA构建一个项目,在该项目中,我可以使用LCD投影仪和经过过滤后只能看到手持式激光点指示器的单色相机在我的墙上绘制“涂鸦”。我想使用任意数量的激光指示器——此时并不真正关心区分它们。墙是10'x10',而相机只有640x480,所以我尝试使用样条曲线进行亚像素测量,如下所示:tpub.com相机以120fps(8位)的速度运行,所以我想问大家的问题是找到亚像素激光点中心的最快方法。目前我正在使用强力2D搜索在进行样条插值之前找到图像上最亮的像素(0-254)。这种方法不是很快,而且每一帧到计算机的时间比它们进入计算机的时间要长。编辑:澄清一下,最后我的相机数据由指示像素亮度
在C#中是否有任何方法可以保存函数调用供以后调用?例如,我希望能够说:publicclassMyFunctionCaller{publicstaticvoidSaveFunctionCallForLater(/*Someparameters*/){//SavetheFunctionCallinavariableoralisttobeinvokedafterasetamountoftime}}publicclassMyProgram{publicstaticvoidMain(){//Saveacallto'SpecialFunction'alongwithitsparameters,//
我在想是否可以模拟一个Game对象来测试我的DrawableGameComponent组件?我知道模拟框架需要一个接口(interface)才能运行,但我需要模拟实际的Game对象。编辑:这是一个link在XNA社区论坛上进行相应的讨论。有帮助吗? 最佳答案 该论坛中有一些关于单元测试主题的好帖子。这是我在XNA中进行单元测试的个人方法:忽略Draw()方法在您自己的类方法中隔离复杂的行为测试棘手的东西,不要担心剩下的这是一个测试示例,用于确认我的Update方法将实体移动到Update()调用之间的正确距离。(我正在使用NUnit