我有一些简单的代码,看起来像这样:
printf("Press zero or back to exitn");
maSetColor(0x0055ff);
maFillRect(10,10,100,100);
maUpdateScreen();
这会运行,但是当它像这样时:
maSetColor(0x0055ff);
maFillRect(10,10,100,100);
maUpdateScreen();
printf("Press zero or back to exitn");
printf
擦除屏幕。
这是为什么呢?这是printf()
的正常属性吗?我应该使用不同的打印功能来打印所有内容,而不是擦除所有内容?我知道我可以改用 MoSync 的 MaDrawText()
,但我想知道是否有打印功能也可以使用。
这是
预期行为,printf()
将在单独的屏幕中显示文本。另一种方法是maDrawText(int left, int top, const char* str);
允许您在绘画区域中绘制文本。
您的代码可能如下所示:
//Draw the Rectangle
maSetColor(0x0055ff);
maFillRect(10,10,100,100);
//Draw the text
maSetColor(0xffffff);
maDrawText(10,10,"Press zero or back to exit");
//Update the screen to reflect changes
maUpdateScreen();
您的第一个示例之所以有效,是因为您在更新屏幕之前调用了该函数,因此 printf() 不会在当前绘图之上绘制。