对于大学,我们需要在Unity中制作一个由Arduino控制的游戏。我的想法是开发一款黑客游戏,其中Arduino在黑客入侵游戏中时充当“黑客设备”。 arduino将具有一个屏幕,并且在该屏幕上将是一个基本的命令行界面,可让我输入简单的命令来“破解”,但我在处理文本和清除文本时遇到了麻烦。
我已经能够使用unity将键入的字符以及退格功能发送到显示器(按退格键将删除字符串中的最后一个字符)
我在编写时清除所有文本时遇到了第一个问题(调用tft.print不会清除任何先前的文本)。我正在使用fillScreen,速度很慢。我发现setTextColor有第二个参数,让我将所有特定的彩色文本设置为不同的颜色。将其设置为黑色实际上会清除它。
这使它在写入屏幕时几乎立即更新,但是我现在遇到了一个新问题,退格将不再。
我的理解是,删除字符时,调用setTextColor时将不会更新其颜色,直到调用restart / fillScreen为止。”
我不太确定如何解决这个问题,所有的Google搜索几乎没有帮助。
这是我的文本更新代码:
void updateString(char c){ tft.setTextColor(WHITE,BLACK); if(c!='<'){ //Add new character to end of string str.concat(String(c)); } else if(c=='<' && str.length()>2){ //Remove last character in string str.remove(str.length()-1); } //Set cursor back to 0,0 tft.setCursor(0,0); //Display text tft.print(str); }
非常感谢您的帮助。
对于大学,我们需要在Unity中制作一个由Arduino控制的游戏。我的想法是开发一款黑客游戏,其中Arduino在黑客入侵游戏中时充当“黑客设备”。 ...