Articles of monogame

将FBX文件转换为XNB时出现问题

我创建了一个Monogame内容项目来将资产转换为XNB。 对于没有纹理的FBX文件,没有问题:文件被正确地转换,当我将XNB加载到我的项目中时,一切正常。 当我将fbx文件关联到纹理贴图时,出现这个问题:在这种情况下,FBX和PNG文件都转换为XNB,但是当我尝试将这些XNB文件加载到我的项目中时,会出现以下问题: “ContentLoadException:无法将Models / maze1资源加载为非内容文件!” 注意:maze1是从FBX转换而来的XNB文件。 我怎么解决这个问题? 先谢谢你

在Windows Phone 8中,monogame中是否有任何“对象”,类似于Android中的Toast?

标题几乎总结了一切。 在Windows Phone 8的monogame中是否有任何“对象”(对于monogame来说),这与Android中的Toast类似? 我的目的是给出一个通知/暗示用户做什么,直到某个时期/直到下一个用户input。 例如:如果玩家点击“攻击”,则在顶部或底部屏幕中显示“select您的目标”文本。 就像在android的吐司。 注1:我可以手动做,但我只是好奇。 如果我可以使用预先制作的function(例如Toast),实现起来会比较简单,而不是自己做。 注2:我的是一个回合制战术游戏(比如FF战术) 谢谢。

为什么不在Xamarin.iOS中显示这个UIButton?

我试图实现button到我的游戏。 我注意到iOS有UIButton类,我尝试了,但绘制它时什么也没有显示。 资产图片正确加载,我已经检查过了。 SpriteBatch不是在button上绘图。 Draw在每一帧都被正确地调用。 该button的启用属性设置为True 。 代码简化了: 私人列表button; public void AddButtons() { UIButton b = new UIButton(UIButtonType.Custom); b.SetBackgroundImage(UIImage.FromBundle(“icon.png”),UIControlState.Normal); b.Frame = new System.Drawing.RectangleF(0,0,256,256); buttons.Add(b)中; } public void Draw() { foreach (UIButton b in buttons) { b.Draw(b.Frame); } } 为什么不可见?

使用Monogame / XNA将精灵画到一个永久的Texture2d

我正在和Monogame一起做2d精灵引擎。 我已经得到了很好的工作,我可以在屏幕上移动大量的精灵,并带有我想要的效果和位置。 昨晚我试图添加一个function,我不能完全正确地工作。 我正在试图建立移动的精灵可以留下的永久性的踪迹。 所以我有一个几乎透明的PNG,上面有一些白色的线条叫做“条纹”。 这个想法是,我建立了一个新的Texture2d表面(称为streakoverlay),我画条纹。 我切换回后台缓冲区,并绘制:背景,streakoverlay,最后在它上面的精灵。 条纹应该随着时间的推移而增加。 它几乎可以工作,但是我所遇到的麻烦是StreakOverlay似乎每次都清除自己。 如果我喜欢它的行为将是没有这条线的graphics显示相同的行为“GraphicsDevice.Clear(Color.White);” – 一切都会堆积在里面。 相反,它会重置为该纹理默认的紫色透明颜色。 有什么建议么? 这是渲染引擎的核心部分: GraphicsDeviceManager graphics; RenderTarget2D streakOverlay; SpriteBatch spriteBatch; private Texture2D bkg; private Texture2D prototype; private Texture2D streak; //Initialize graphics = new GraphicsDeviceManager(this); GraphicsDevice.Clear(Color.Transparent); streakOverlay = new RenderTarget2D(GraphicsDevice, 200,200); //Load Content bkg = Content.Load<Texture2D>("bkg"); //Background image prototype = Content.Load<Texture2D>("prototype"); //Prototype sprite that moves […]

MonoGame – 何时/如何保存数据

我正在为monogame / xna中的WP做一个简单的二维游戏,而且我正想保存数据。 我创建了一个将数据(索引,计数器和百分比计数器)序列化为xml格式的独立存储文件的方法。 还有一个后续的反序列化文件的方法。 我的问题是,什么是最好的保存游戏,因为目前我保存的时候,暂停屏幕加载在游戏屏幕上 – 但是,这不会保存数据,如果玩家退出应用程序。 我确定我正在一个愚蠢的地方储蓄。 因此,我想知道常用的做法是什么? 任何帮助/建议将不胜感激。 这是我的保存方法: public void SaveData() { const string filename = "data.vision"; #if WINDOWS_PHONE IsolatedStorageFile dataFile = IsolatedStorageFile.GetUserStoreForApplication(); #else IsolatedStorageFile dataFile = IsolatedStorageFile.GetUserStoreForDomain(); #endif try { // Create an isolated storage stream and initialize it as null. IsolatedStorageFileStream isolatedFileStream = null; // Check the data file […]

XNA的Monogame GameState管理不是非正常化

我正在做一些小游戏中的序列化/反序列化,我正在教自己的游戏。 基本上,我正在使用monogame(屏幕管理器等)常用的游戏状态管理资源。 然后我在OnDeactivated方法中序列化我的屏幕管理器组件和所有关联的屏幕: protected override void OnDeactivated(Object sender, EventArgs args) { foreach (GameplayScreen screen in mScreenManager.GetScreens()) { DataManager.SaveData(screen.Level.LevelData); } mScreenManager.SerializeState(); } 保存数据位是要做其他事情。 然后我重写OnActivated来序列化 protected override void OnActivated(Object sender, EventArgs args) { //System.Diagnostics.Debug.WriteLine("here activating"); mScreenManager.DeserializeState(); } 然而,当这运行它只是加载一个空白的屏幕 – 它进入游戏初始化和游戏绘制方法,但没有进入屏幕初始化或绘制方法。 我不知道为什么这可能是 – 任何帮助将不胜感激。 我不是唯一遇到这个问题的人 – 我也发现这个post – https://monogame.codeplex.com/discussions/391117

更好的方式来处理可渲染对象的sorting和可见性?

我只是想知道是否有一种更有效的方法来处理适合已有引擎devise的可渲染组件的sorting和可见性。 我现在怎么做: 在我的SceneHandler的每个更新中,执行此操作: 检索当前在当前场景中的所有可渲染组件 将这些组件发送到RenderManager 调用RenderManager.Update 在RenderManager的每个更新中,执行以下操作: 迭代给定列表并执行遮挡testing 如果对象可见,则将其放入可见项目的新列表中 按照图层深度的顺序对可见项目列表进行sorting 当RenderManager.Draw()被调用时,RenderManager迭代可见项目列表并绘制它们 有没有什么比这更明显的方法,或者你通常这样做? 也许我可以保留所有当前场景对象的sorting列表,然后只是执行遮挡testing,因此不需要对每个更新进行sorting? 所建议的方法的优点和缺点,非常感谢。

如何隐藏我发布的MonoGame游戏的控制台窗口?

我刚刚完成了我为“一个游戏一个月”挑战赛的第一场比赛,这个挑战是我在Xamarin for Windows中用当前的MonoGame框架编写的。 我以释放模式构建了该程序,但运行该可执行文件会在游戏窗口之外生成一个控制台窗口 。 控制台保持空白,除非我故意导致错误被logging,比如通过删除所需的资源。 我怎样才能摆脱这个无关的控制台窗口? 我查看了项目设置,但没有看到任何暗示删除控制台窗口…

基于到物体的距离的比例适应

我有上面的图像说明情况,名称显示在播放器上。 文字呈现为3D矩形,并旋转到面对相机作为广告牌。 (我正在使用这篇文章http://blogs.msdn.com/b/shawnhar/archive/2011/01/12/spritebatch-billboards-in-a-3d-world.aspx )我只是想要的大小文字总是一样的。 有没有什么常用的方法来自适应地根据距离缩放对象?

Monogame中的边界框供鼠标采摘

大家好,我正在实现这个鼠标管理器,以便能够拾取对象。 我的应用程序主要在三维空间使用纹理四边形。 我在monogame中使用边框,但是我的解决scheme缺乏准确性。 现在我所拥有的是: http : //imgur.com/oySTCay 你可以清楚地看到问题是什么,所以这个解决scheme可能不是最好的。 这是我的方法来计算边界框: public BoundingBox GetBoundingBox() { Matrix transform = Node.GetTransformForBoundingBox(); vertices[0] = Vector3.Transform(new Vector3(0, 0, 0), transform); vertices[1] = Vector3.Transform(new Vector3(Texture.Width * m_fTexturescale, 0, 0), transform); vertices[2] = Vector3.Transform(new Vector3(0, (Texture.Height * m_fTexturescale) * -1, 0), transform); vertices[3] = Vector3.Transform(new Vector3(Texture.Width * m_fTexturescale, (Texture.Height * m_fTexturescale) * -1, […]