Questions tagged «monogame»

Microsoft XNA 4的开源实现,适用于Windows,Mac,Linux,Android和iOS等。

3
团队如何防止覆盖源文件中的工作?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Game Development Stack Exchange 的主题。 4年前关闭。 在我看来,有一种可能性,例如由多个人同时处理游戏引擎时,如何防止覆盖? 假设开发者一在工作,Audio.cpp而开发者二也在工作Audio.cpp,这在大型团队中通常如何进行管理以应对覆盖?(换句话说,要阻止开发人员2打开文件,直到开发人员1完成)
26 project-management  version-control  teamwork  java  2d  collision-detection  vector  collision-resolution  unity  directx  directx11  directx10  xna  ios  monogame  windows-phone-8  xamarin  design-patterns  oop  xna  collision-detection  collision-resolution  bounding-boxes  rotation  collision-detection  mathematics  javascript  algorithm  separating-axis-theorem  xna  2d  monogame  image  xna  directx  graphics  performance  opengl  2d  3d  c++  directx11  unity  c#  scale  c#  xna  collision-detection  collision-resolution  leaderboards  scoring  glsl  srgb  tilemap  three.js  tiled  unity  physics  xml  dialog-tree  xna  c#  .net  opengl  lwjgl  vbo  physics  graphics  procedural-generation  simulations  water  opengl  java  textures  lwjgl  frame-buffer  unity  unity  2d  collision-detection  collision-resolution  trigonometry  java  android  libgdx  xna  c#  frame-rate  c++  unreal-4  procedural-generation  java  graphics  lwjgl  slick  c++  software-engineering 

2
XNA 2d相机滚动-为什么使用矩阵变换?
我正在制作一个测试游戏,希望关卡不断滚动。为了创建这种效果,我建立了一个摄像机类,该摄像机类仅存储vector2位置和枚举方向。它还包含一个公共的“移动”方法,该方法仅以固定的速率更改头寸。然后,当我在绘制时遍历我的瓷砖阵列时使用此位置。这一切都很好。 但是,有人告诉我应该使用Transform矩阵来移动相机,并且在启动spritebatch时应该提供此信息。我有点困惑a。)这是如何工作的?好像我只在spritebatch开始时给它一样,它怎么知道要保持位置变化?b。)为什么在遍历图块时仍然确定需要照相机的位置? 目前,我无法正常工作,但这并不奇怪,因为我还不完全了解它的工作原理。目前,在我的尝试(遵循的代码)中,正在绘制的图块发生了变化,这意味着相机的位置正在更改,但是视口的位置保持不变(即,在相机的原点)。对于要如何使用它,我将不胜感激。 相机: class Camera { // The position of the camera. public Vector2 Position { get { return mCameraPosition; } set { mCameraPosition = value; } } Vector2 mCameraPosition; public Vector2 Origin { get; set; } public float Zoom { get; set; } public float Rotation { get; …


8
如何为单人游戏生成Spritefonts
我只想使用以下方法在屏幕上呈现一些文本: 单机游戏3.0 MS Visual Studio 2010 C#Express 在XNA中,您可以轻松地将字体添加到内容管道。但这在单人游戏中似乎并非如此。使用加载TTF文件Content<SpriteFont>.Load()不起作用。有什么方法可以生成或下载* .spritefont文件或包含字体数据的* .xnb文件(无须安装XNA)?
14 xna  monogame 

2
在XNA / MonoGame中解锁帧率会告诉我代码的效率如何吗?
我一直在通过以下方式解锁MonoGame中的帧率: this.graphics.SynchronizeWithVerticalRetrace = false; base.IsFixedTimeStep = false; 并以此作为我更新和绘制游戏效率的基础。 在240 x 160的分辨率下,除了帧计数器外,什么都没有绘制或更新,我得到的FPS值为9,000到11,000 FPS。 如果我重新添加所有代码,它的速度将下降到约1,100 FPS。 这是否很好地表明我的代码显着降低了GPU的速度(10倍),我是否应该担心?该游戏将以60 FPS的速度运行,所以我离它还差得很远,但是我应该关注解锁帧速率的哪一点? GPU:AMD FirePro W5000(FireGL V)

2
XNA / MonoGame的便携式缓冲键盘输入?
作为一个初步的解决方案,我目前在C#/ XNA游戏项目中使用Nuclex框架来缓冲键盘输入。可悲的是,nuclex依赖于SlimDX.Directinput.dll,因此据我所知只能在Windows操作系统下使用。但是,我使用MonoGame定位其他平台(Linux,OSX等),因此我正在寻找一种可移植的方式来集成所有平台上的缓冲键盘输入。有没有?

4
检测“按下任何按钮”
我正在尝试允许播放器按任意按钮以从主页继续。我可以通过创建按钮列表并循环浏览这些按钮并检查其中一个按钮是否关闭来做到这一点。但是,我觉得这段代码很难看,想知道是否有一种我没有想到的简单方法? 这是我的代码现在的样子: if (GamePad.GetState(PlayerIndex.One).IsConnected) { var buttonList = new List<Buttons>() { {Buttons.A}, {Buttons.B}, {Buttons.Y}, {Buttons.X}, {Buttons.Start}, {Buttons.Back}, {Buttons.RightShoulder}, {Buttons.LeftShoulder}, {Buttons.RightTrigger}, {Buttons.LeftTrigger} }; foreach (var button in buttonList) { if (GamePad.GetState(PlayerIndex.One).IsButtonDown(button)) ExitMainMenu= true; } }
10 xna  monogame 

3
如果同时使用MonoGame API和基础图形API,会发生什么问题?
如果他们使用MonoGame进行游戏并开始对基础图形API进行调用,会遇到什么问题? 例如,如果我想在MonoGame项目中做某些事情,而MonoGame不一定支持该项目,或者我只是找不到合适的文档/示例,但是我可以找到一个在OpenTK中进行操作的示例,是吗?如果我在其他地方都使用MonoGame API时直接使用OpenTK实现它,是否会给自己带来麻烦?具体来说,我正在寻找是否有已知的大问题是由这种情况引起的,而不是在极少数情况下会发生的晦涩难懂的事情。 我尝试通过Google和GD.SE网站本身进行一些研究,但找不到很多。也许MonoGame确实涵盖了它的大部分基础,但是如果我手动想解决它的一个突出问题或尚未实现的功能该怎么办? 如果是这样,可能会出现什么样的问题?有什么方法可以减轻这些问题?
10 monogame 

4
MonoGame的GUI库[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 6年前关闭。 是否有可与MonoGame一起使用的GuiLibrary?我知道有一些XNA的GUI库,但是我想大多数都不能在MonoGame中使用。 甚至像Buttons和Inputfields这样的简单东西也可以帮助我... 谢谢。
10 monogame 

2
如何在2d城市建造者中提高昂贵功能的性能
我已经在寻找答案,但是我无法找出处理昂贵函数/计算的最佳方法。 在我当前的游戏(基于2d瓷砖的城市建筑物)中,用户能够放置建筑物,建造道路等。所有建筑物都需要与用户必须放置在地图边界处的路口相连接。如果建筑物未连接到此路口,则在受影响建筑物上方将弹出“未连接到道路”标志(否则必须将其删除)。大多数建筑物都有半径,并且可能彼此也有关联(例如,消防部门可以帮助半径30瓦范围内的所有房屋)。这也是我在公路连接发生变化时也需要更新/检查的内容。 昨天我遇到了一个很大的性能问题。让我们看一下以下情况:用户当然也可以删除建筑物和道路。因此,如果用户现在在连接点之后立即断开连接,则需要同时更新许多建筑物。我认为第一个建议是避免嵌套循环(在这种情况下,这绝对是一个重要原因),但是我必须检查一下... 如果在拆除路砖的情况下建筑物仍连接到路口(我仅对那条路受影响的建筑物这样做)。(在这种情况下可能是一个较小的问题) 半径图块列表,并获取半径范围内的建筑物(嵌套循环-大问题!)。 // Go through all buildings affected by erasing this road tile. foreach(var affectedBuilding in affectedBuildings) { // Get buildings within radius. foreach(var radiusTile in affectedBuilding.RadiusTiles) { // Get all buildings on Map within this radius (which is technially another foreach). var buildingsInRadius = TileMap.Buildings.Where(b => …

5
精灵渲染速度模糊
在为游戏增加速度之后,我感觉我的纹理在抽搐。我以为只是我的眼睛,直到最终在屏幕截图中捕获了它: 左边的是我的游戏中呈现的内容;右边的是粘贴的原始精灵。(这是Photoshop的屏幕截图,放大了6倍。) 请注意,边缘是混叠的-看起来几乎像是亚像素渲染。实际上,如果我没有强迫我的精灵(位置和速度为整数)使用整数值进行绘制,我会发誓MonoGame使用浮点值进行绘制。但事实并非如此。 这些事情看起来模糊的原因可能是什么?没有施加速度就不会发生这种情况。 确切地说,我的SpriteComponent班级有一个Vector2 Position领域。当我致电时Draw,我实际上是使用new Vector2((int)Math.Round(this.Position.X), (int)Math.Round(this.Position.Y))该职位。 我之前有个bug,即使静止的物体也会抖动-这是由于我使用了直线Position向量,而不是将值四舍五入到ints。如果我使用Floor/ Ceiling而不是圆形,则精灵会下沉/悬停(两种方式各有一个像素差异),但仍会模糊。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.