如何在Android(Game Maker Studio)上居中绘制文本

如何在Android(Game Maker Studio)上居中绘制文本,android,text,center,draw,game-maker,Android,Text,Center,Draw,Game Maker,比赛结束后,我试图在中锋得分。 它在windows上处于中心位置,但在Android上不处于中心位置。 我有800*480个房间,在Galaxy S III上测试了游戏。文本如Galaxy S III上的200*120 我试过这些代码: draw_text(global.width/2,(global.height/2),score) 而且不起作用 我为这个问题挣扎了好几个小时。我要发疯了:海盗: 谢谢你的回复 我没有所有必要的信息,但听起来您可能正在使用Draw GUI事件调用此代码。如

比赛结束后,我试图在中锋得分。 它在windows上处于中心位置,但在Android上不处于中心位置。 我有800*480个房间,在Galaxy S III上测试了游戏。文本如Galaxy S III上的200*120

我试过这些代码:

draw_text(global.width/2,(global.height/2),score)

而且不起作用

我为这个问题挣扎了好几个小时。我要发疯了:海盗:


谢谢你的回复

我没有所有必要的信息,但听起来您可能正在使用Draw GUI事件调用此代码。如果是这样的话,那么解决问题就像将绘图代码移动到绘图事件中一样简单

标准绘制事件将绘制到屏幕表面,文本将与其他图形一起缩放。如果您不知道这种缩放是什么,您仍然可以使用DrawGUI事件,但是您需要以不同的方式定位文本

在我的脑海里,我想这应该会起作用:

if (os_type == os_android) {
  draw_text(display_get_width() / 2, display_get_height() / 2, score);
} else if (os_type == os_windows) {
  draw_text(room_width / 2, room_height / 2, score);
}

唯一需要注意的是,这将使文本的位置与在Windows中的位置相同,但不会以相同的方式缩放文本。不幸的是,在GM:S 1.3提供TrueType字体支持之前(在本文撰写后不久),您无法真正做到这一点,只需添加大量不同大小的字体并根据屏幕大小进行选择(同样可以通过
display\u get\u width()
display\u get\u height()

您能发布布局xml代码吗?我不是在使用Eclipse,而是在Game Maker Studio中工作
draw_set_halign ( fa_center );
draw_set_valign ( fa_middle );
draw_text(view_xview[0]+view_wview[0]0/2,(view_yview[0]+view_hview[0]/2),score);
if (os_type == os_android) {
  draw_text(display_get_width() / 2, display_get_height() / 2, score);
} else if (os_type == os_windows) {
  draw_text(room_width / 2, room_height / 2, score);
}