canvas.drawText()以错误的坐标绘制文本

时间:2016-03-05 16:51:43

标签: java android canvas


我正在开发一款小型安卓游戏。这是关于击落敌机。我正在使用Android Canvas中的内置绘制实际游戏的内容。为了告诉用户他的分数和其他信息,我使用

canvas.drawText(...);

我的问题是,在短时间后,文本会以错误的x坐标绘制。我检查了受影响的变量,并且它们存储了正确的值。 这是源代码:

c.drawText(this.you + ": " + this.activity.getLocalScore(), GameActivitySinglePlayer.SCREEN_WIDTH * 0.02f, GameActivitySinglePlayer.SCREEN_HEIGHT * 0.07f, this.smallText);//works
c.drawText(this.enemy + ": " + this.activity.getAndroidScore(), GameActivitySinglePlayer.SCREEN_WIDTH * 0.8f, GameActivitySinglePlayer.SCREEN_HEIGHT * 0.07f, this.smallText);//works
c.drawText(this.oldFps + " FPS", GameActivitySinglePlayer.SCREEN_WIDTH * 0.45f, GameActivitySinglePlayer.SCREEN_HEIGHT * 0.05f, this.smallText);//works sometime
c.drawText(this.activity.lives + " " + this.lives, GameActivitySinglePlayer.SCREEN_WIDTH * 0.45f, GameActivitySinglePlayer.SCREEN_HEIGHT * 0.091f, this.smallText);//works sometime
c.drawText("Level " + this.activity.level, GameActivitySinglePlayer.SCREEN_WIDTH * 0.45f, GameActivitySinglePlayer.SCREEN_HEIGHT * 0.132f, this.smallText);//works sometime

System.out.println("width: " + GameActivitySinglePlayer.SCREEN_WIDTH + " height " + GameActivitySinglePlayer.SCREEN_HEIGHT); //Prints correct values (1280 and 720)

Here is a combined image of the fail

请注意,我之后添加了红色矩形,以提高错误的可见性。

感谢您提供任何帮助和改进建议。

0 个答案:

没有答案