- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
基于这个线程:
Adding inputbox-like control to XNA game
不确定这是否是一个 ressurect,但我的 monogame 项目需要一个输入文本框,但是我
运行 Metro 应用程序版本,关于如何解决这个问题的任何线索?我一直在尝试构建
我自己的图形用户界面,但我不知道如何限制文本框图像末尾的文本范围
宽度,也不知道如何将当前文本索引移动到左边的较早点
箭头或更远的右箭头键盘键,任何人都可以帮助我解决这个问题吗?
在此先感谢您的帮助!亲切的问候,罗慕洛·罗梅罗
最佳答案
我假设您想要一个单行文本框 - 这比多行文本框容易得多,因为您不需要自动换行 - 并且您已经确定了键和字符输入。
我没有用过 monogame,但不久前我为 xna 制作了一个输入框,所以我希望这对你有所帮助。
您要做的是定义一个背景矩形(也可以是图像),并记住文本光标(也称为工字指针)的位置。这是光标所在文本的哪个字符之后,以及您将输入新输入字符的位置。所以现在在代码中,这里是您的文本框类中需要的变量(假设您将为此使用一个类,这将是最简单的):
string text = ""; //Start with no text
int cursorPos = 0;
//These are set in the constructor:
SpriteFont font;
Rectangle backRect;
现在您可以开始处理字符输入了。每当输入字符时,您都希望将其插入光标位置。但是您还想检查新文本是否不超过背面矩形的宽度,因此代码如下所示:
public void CharEntered(char c)
{
string newText = text.Insert(cursorPos, c.ToString()) //Insert the char
//Check if the text width is shorter than the back rectangle
if (font.MeasureString(newText).X < backRect.Width)
{
text = newText; //Set the text
cursorPos++; //Move the text cursor
}
}
您现在要做的就是处理键输入,并在按下左右箭头键时更改 cursorPos。并绘制文本等,但这些东西非常简单;)
希望这对您有所帮助!~卢卡
关于input - 如何为 monogame metro 应用程序创建输入文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23305631/
所以我目前正在尝试使用 MonoGame 在 Visual Studio (C#) 中制作游戏,但是当我尝试双击 Content Folder 中的 Content 文件时 MPT 没有打开。在我观看
我在 Mac OS X Yosemite 上使用 Xamarin 5.9.1。我构建了一个运行 Xamarin.iOS 的 iOS 游戏。我能够从 NuGet 成功地将 MonoGame.Framew
我已经下载并安装了适用于 Linux 的 Monogame,如下所示:http://www.monogame.net/documentation/?page=Setting_Up_MonoGame_L
当我下载 MonoGame(我将使用它代替 XNA,因为我在 Mac 上)并解压缩它时,所有 MonoDevelop 解决方案文件都被命名为 MonoGame.Framework.[PLATFORM
我知道之前曾有人问过这个问题,但我是通过 Mono游戏来完成的,而我使用的编程语言是 C#。 我制作了一款游戏,其目的是克服障碍,每遇到一个障碍,您都可以赚取积分。现在,我正在尝试添加点睛之笔。我已经
我正在尝试使用Monogame引擎对一些旧的Arcade游戏进行C#编程。但是,我遇到了一个问题。 由于我的代码有些混乱,因此当玩家成功完成游戏时,我通常不花力气重置所有内容。相反,我只是关闭当前的G
我正在使用 Window Project (在MonoGame 3.2中),该项目使用 DirectX 而不是OpenGL。 如果我运行游戏,那么它将显示给我: "Could not load win
我不明白如何设置 monogame 内容项目。请帮助我 :)我试图阅读这些东西:https://github.com/mono/MonoGame/wiki/MonoGame-Content-Proce
我正在为比赛编写游戏,我们必须创建直接从 CD 运行的游戏,而无需在计算机上安装任何组件。 MonoGame 看起来是一个不错的候选者,因为它是跨平台的,我想使用 C# ,但我无法确定它是否需要安装任
我在游戏中遇到 2D 碰撞检测问题。 问题是我的播放器的矩形没有正确地注册与其他对象的矩形的交点。 我想知道我用来旋转播放器的 origin 变量是否与我的问题有任何关系,以及如何解决它。 我会更详细
我刚刚开始使用 MonoGame(以及一般的游戏编程)并且无法运行任何程序。我不断收到此异常消息 An unhandled exception of type 'System.DllNotFoundE
在MonoGame中,如何以字符串形式读取按下的是哪个键盘键? 我试过 String pressedKey = Keyboard.GetState().ToString();,但它给了我“Micros
我正在构建一个 2D 平台游戏。但是制作视频的人只是展示了如何创建 map 和图 block 类并从他制作的数组中加载关卡。我听说这是一种不好的做法,人们应该从文件中加载关卡...我知道如何使用流阅读
我正在开发游戏并开发“主菜单”,在那里有一个设置场景。该场景包含一些选项卡,对于“视频”选项卡,我想要一个允许切换分辨率的下拉菜单。现在,我了解了后一部分的逻辑,但是使用XNA框架时,我无法理解下拉菜
我正在创建一个基于小行星的 2D 游戏。在那场比赛中,我需要将船推向一个方向。 我可以画出这艘船,让它掉头。但是当谈到推进它时,我的问题出现了。 我似乎无法理解这个问题。 (整个制作游戏的过程对我来说
前几天,我启动了我的 monogame 项目并启动它来进行快速游戏测试。这是行不通的。我遇到了 2 个错误。 Error 1 The command "SETX MONOGAME_PLATFORM "
我正在用 Monogame 制作游戏。 我使用 2 台计算机进行编程,都是 Windows 8 x64 和 VS 2013 Pro在我的一台电脑上,我没有任何问题。声音很好用(我使用的是 DX 版本)
我正在写一个小 Monogame,我想知道如何绘制一条由某些公式生成的曲线,然后我想用某种颜色填充该曲线下方的所有内容,我想在顶部生成东西并放下他们下来,直到他们与曲线相撞。查看图片以更好地了解我的问
我正在开发一款全屏 Windows 游戏。今天我看到一个独立游戏(用 XNA 制作)有以下行为:当它是焦点窗口时,它会 Update() 和 Draw() 但是当它得到最小化它停止这两个并等待用户再次
好的,所以我将我一直在开发的游戏移植到 Monogame,但是现在移植后我遇到了着色器问题。这是一个奇怪的错误,因为它适用于我的旧 XNA 项目,而且我第一次在新的 monogame 项目中使用它时它
我是一名优秀的程序员,十分优秀!