0

我试图在比赛结束后在中心得分。它位于 Windows 的中心,但不在 Android 上。我有 800*480 的房间并在 Galaxy S III 上测试过游戏。文字类似于 Galaxy S III 上的 200*120。

我尝试了这些代码:

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

.

draw_text(room_width/2,room_height/2,score)

.

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);

并且不起作用。

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

感谢您的回复 !

4

1 回答 1

0

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

标准绘图事件将绘制到屏幕表面,文本将与您的图形的其余部分一起缩放。如果你不这样做,你仍然可以使用 Draw GUI 事件,但你需要以不同的方式定位你的文本。

在我的脑海中,我认为这应该可以解决问题:

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_get_width()display_get_height()

于 2014-03-07T20:01:48.867 回答