单体游戏按钮
Posted
技术标签:
【中文标题】单体游戏按钮【英文标题】:Monogame buttons 【发布时间】:2021-11-29 08:56:45 【问题描述】:我一直在尝试在monogame中制作点击游戏,但我不知道如何制作按钮。我尝试了无数教程,但似乎都没有。 在monogame中制作按钮最简单的方法是什么?
【问题讨论】:
***.com/questions/32430598/… @Fabios。我试过了,但它不适合我 也许您应该研究游戏引擎而不是游戏库。 Unity 或 Unreal 是非常强大的引擎,Unity 很容易上手。 unity.com/download 【参考方案1】:绘图通常通过一个函数调用完成,假设您只想将图像简单地绘制到屏幕上,而不需要任何着色器或魔法东西:
_spriteBatch.Draw(ButtonTexture,ButtonRectangle,Color.White);
这假定 _spriteBatch 已在您的游戏类中定义,并且 ButtonTexture(使用 Content.Load() 从内容管道加载纹理)和 ButtonRectangle 是存在的局部变量。请考虑游戏的分辨率,因此 ButtonRectangle 变量应如下所示
ButtonRectangle = new Rectangle(ScreenX * 0.4,ScreenY*0.5,ScreenX * 0.1,ScreenY*0.1);
用于检查玩家是否点击了您要使用的按钮
MouseState mouse = Mouse.GetState();
if(ButtonRectangle.Contains(mouse.Position) && mouse.LeftButton == ButtonState.Pressed)
//do stuff
当然,可以添加一些东西,比如使用两个单击状态来防止按钮在每次从 Game 类调用 Update() 时被按下。 或者检查按钮是否悬停并更改精灵。
此时,像 Myra 这样的 Monogame 的 UI 库也很少。
知道您已经看过几十个教程,您可能想使用游戏引擎,例如 Unity、GameMaker 等。
【讨论】:
Hey Um ButtonRectangle.Contains 对我不起作用。返回此错误:Texture2D 不包含“包含”的定义,并且无法找到接受“Texture2D”类型的第一个参数的扩展方法“包含”(您是否缺少 using 指令或程序集引用?)跨度> ButtonRectangle 应该是 Rectangle,而不是 Texture2D。以上是关于单体游戏按钮的主要内容,如果未能解决你的问题,请参考以下文章