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

そして機能しません。

私はこの問題に何時間も苦労しています。私は気が狂うつもりです:pirate:

お返事をありがとうございます !

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 に答える