我目前正在制作游戏并需要得分才能在循环中更新。 每次分数在图中更新时,它会覆盖以前写入的文本,使其模糊。
代码如下:
score=score+100
text(90,105,num2str(score));
h=text(80,105,'SUN');
set(h,'color','r');
答案 0 :(得分:1)
您应该保留原始文本框的句柄,然后更新其“String”属性。而是继续在旧文本框之上创建一个新文本框。
目前无法访问matlab,但我认为这样的事情应该有效:
% first time you report score! create a text object; call it's handle "scoreBoard"
scoreBoard = text(x,y,num2str(score));
% something happens and we have new score:
set(scoreBoard, 'String', num2txt(score)); % update the string property of scoreBoard
或者,您可以删除旧对象并创建一个新对象。我怀疑上面给出的方法稍微有点效率。