2017-08-11 13 views
1

私はpygameのダウンロードで、このゲームに取り組んでいると私はので、私は次のコードを作成したことにより、画面1にいくつかの文字をブリットする必要がある移動します手紙が現れるたびに左側が表示されます。どのように言葉が動き回るのを防ぐことができ、彼らはまだ滞在することができますか?pygameのはブリットテキスト

+0

レンダリングされたテキストが長くなるたびに動かすテキストを、効果的に「中央揃える」ように見えます。あなたはそれを静かにしたい場合は、左寄せにする必要があります。目立つ線は 'render.get_rect(center =(t_w、t_h))'です。たぶんあなたはそれを削除することができ、それは動作しますか? –

答えて

1

render_rect = render.get_rect(center = (t_w, t_h))のために、テキストの中心が(t_w, t_h)になっています。センタリングする代わりに、四角形を左揃えにして、常に同じ場所に描画する必要があります。

render_rect = render.get_rect() 
render_rect.x = t_w 
render_rect.y = t_h 

あなたは全体のメッセージが画面の中央に描画できるようにしたいなら、あなたは2つのことを知る必要があります:最終レンダリングされたテキストのサイズと、画面の中央の場所を。最終ボックスのサイズは、フォントにpygame.font.Font.sizeメソッドを使用して見つけることができます。あなたのケースでは、次の行が動作するはずです:

font = pygame.font.SysFont(font, font_big) 
box_width, box_height = font.size(text) 

次にあなたがrender_rectの位置を設定することができます。

render_rect.x = screen_center_x - box_width/2 
render_rect.y = screen_center_y - box_height/2 

私は、画面の中央を取得するためにあなたにそれを残しておきます。

+0

ありがとうたくさんの男が本当にこの哀れな状況から私を助けました。 –

+0

@SellingingGoatは喜んでお手伝いします。あなたのために動作する場合は、正しいとマークしてください。 –

+0

ここであなたは人に行く!再度、感謝します! –