Tag: xna

在Visual Studio 2010中生成时锁定文件

你好,Stackoverflow。 最近,当我在Visual Studio 2010中进行编程时,我遇到了VS在尝试构建时锁定bin / Debug /(ProjectName).exe文件的问题,并在尝试构建项目后给出了以下错误10倍: 无法将文件“obj \ x86 \ Debug \ TileEngine.exe”复制到“bin \ x86 \ Debug \ TileEngine.exe”。 该进程无法访问文件’bin \ x86 \ Debug \ TileEngine.exe’,因为它正由另一个进程使用。 当我编辑源然后尝试调试时出现问题。 我已经检查过使用不同的程序,使用该文件的唯一程序是Visual Studio。 如果我在尝试构建之前等待大约10分钟,它似乎工作正常,但是当尝试不同的事情时,在尝试某些事情之前需要等待10分钟并不好。 我在这个网站上以及我在Google上找到的所有地方都尝试了不同的解决方案。 我找到的一些解决方案,但没有为我工作 解决方案1 ​​ – 使用预构建脚本 在Stackoverflow上的一些不同的问题中,我发现一个解决方案是你进入Project Properties > Build Events ,然后在预构建事件命令行中添加: if exist “$(TargetPath).locked” del “$(TargetPath).locked” if not exist “$(TargetPath).locked” move “$(TargetPath)” “$(TargetPath).locked” […]

将后渲染效果应用于XNA中的SpriteBatch

在XNA框架中,有没有办法使用典型的SpriteBatch方法渲染2D场景,然后在渲染帧后,将效果应用于整个图像? 例如,模糊,棕褐色甚至使整个事物看起来像旧时的电影胶片,有颗粒,灰尘,线条等?

阻止碰撞运动

我正在XNA开发一款2D游戏,而且我正在研究我的物理课。 我当前的任务是在物体与另一物体相撞时停止物体。 当两个物体发生碰撞时,我让我的游戏调用此function: public void BlockMovement(gameObject target) { //you can call width by just typing width. same for height owner.position.X += (owner.position.X – target.position.X); owner.position.Y += (owner.position.Y – target.position.Y); } 问题是,而不是停止。 正在移动的物体被它的宽度推回。 谁能请出示/告诉我如何做到这一点我在很多项目中一直坚持这一点。 谢谢

C#/ XNA巨型内存泄漏

这是我在此的头一篇博文。 我正在使用XNA在Visual Studio 2010中制作游戏,而且我遇到了巨大的内存泄漏。 我的游戏开始使用17k ram,然后在十分钟之后达到65k。 我运行了一些内存分析器,他们都说正在创建String对象的新实例,但它们不是实时的。 String的实时实例数量根本没有变化。 它还创建了Char [](我期望它),Object []和StringBuilder的实例。 我的游戏很新,但是在这里发布的代码太多了。 我不知道如何摆脱不活的实例,请帮忙!

如何在Windows Phone 8中的录音机中启用暂停和恢复?(详情为Insde)

我正在使用Windows Phone 8中的录音机。我已经完成了录音启动和停止function,但我没有找到任何暂停和恢复录音function。 也不知道如何为录制的音频添加细节,如创建日期时间,专辑封面等, 我见过麦克风类但我找不到任何东西。 我已经看过Microphone.GetData方法并尝试使用它,请告诉我,如果有人知道这个或知道任何有用的链接。 。 。

集合具有非常快速的迭代和良好的添加和移除速度

我正在追踪一个可以快速迭代的集合。 我还会定期添加项目和删除(特定)项目,因此理想情况下这些操作也会很快。 我正在开发xbox,因此仅限于紧凑框架(或多或少)。 将垃圾和对象分配保持在最低限度非常重要,因此我可以为我的对象预先分配空间的任何事情都会很棒。 我将在集合中存储uint (但如果需要可以是int )。 一般的解决方案会很好,因为我相信我将来会有需求。 一个.net集合将是理想的,没有一个轻量级和开源的东西会很棒。 是否有适合我需求的collections课程? 如果没有,我将如何创建一个? 为了详细说明,它们是对象id,类应该处理每个帧。 它们通常按升序添加,有间隙。 没有上限。 任何可以删除,这将留下空白。 迭代顺序并不完全重要,但如果顺序一致,它将非常有用(特别是对于调试)。

使用XNA在游戏窗口中显示矩形

我想将我的游戏网格划分为一个矩形arrays。 每个矩形为40×40,每列有14个矩形,总共25列。 这涵盖了560×1000的游戏区域。 这是我设置的代码,用于在游戏网格上创建第一列矩形: Rectangle[] gameTiles = new Rectangle[15]; for (int i = 0; i <= 15; i++) { gameTiles[i] = new Rectangle(0, i * 40, 40, 40); } 我很确定这是有效的,但当然我无法确认它,因为矩形不会在屏幕上呈现让我亲身看到它们。 我想为调试目的做的是渲染边框,或用颜色填充矩形,这样我就可以在游戏本身上看到它,只是为了确保它有效。 有没有办法让这种情况发生? 或者任何相对简单的方法,我可以确保这有效吗? 非常感谢你。

既然Xna不受支持,那么更好的选择是什么?

Xna不受支持,不幸的是我最近开始游戏编程(约9个月)。 什么是更好的选择,DirectX或OpenGl。 现在,我不认为DirectX或OpenGl有C#的官方库,那么对于新手来说哪个更好呢? 我听说过像Mono,SharpDx和SlimDx这样的东西..但是DirectX相比OpenGl有什么优势,反之亦然。 另外,这些Mono,SharpDx和SlimDx被称为什么? 他们有一定的名字吗?

编译XNA项目时,无法执行请求的操作错误

第二次编译项目时,我收到以下错误消息。 我必须关闭VS 2010并在重新加载时进行编译。 如果我做出改变,问题就会回来。 “无法复制文件”obj \ x86 \ Debug \ MyFile.dll“。无法对打开用户映射部分的文件执行请求的操作。”

绘制图形的方法比绘制单独的线条更快捷的方法是什么?

截至目前,我正在绘制我的调试性能图,其中1px矩形被拉伸到必要的高度,但是以这种方式绘制大量数据会导致显着的性能损失。 目前的逻辑是:收集当前帧的所有时序,将它们放入Queue并通过绘制300个拉伸的1px精灵为每个队列绘制一个图形。 有4个图,因此仅在调试覆盖中有1200个精灵,这是资源消耗。 是否有更好的方法来绘制图表,至少不需要绘制这么多精灵?