ページ 11

contents.draw_text()メゾッドの引数に改行を用いたい

Posted: 2022年10月23日(日) 11:26
by much

コード: 全て選択

$win1 = Window_Base.new(4, 10, 250, 51)
$win1.opacity = 255
$win1.contents.draw_text(0, 0, 200, 21,"HP " + $game_actors[1].hp.to_s + "/" + $game_actors[1].param(0).to_s)


と記述すれば、画面にはウィンドウが表示され、メッセージを出すことができますが、
この時、draw_textの第五引数に改行コードを適応させて、表示されるメッセージを改行したいのですが可能でしょうか?

Re: contents.draw_text()メゾッドの引数に改行を用いたい

Posted: 2022年10月24日(月) 00:52
by TOMO
Window_Baseなら、contents.draw_textでなくdraw_text_exの方を使ったら?
こっちなら改行文字(\n)で自動で改行してくれます

$win1.contents.draw_text(x, y, width, height, text, align = 0)

$win1.draw_text_ex(x, y, text)


どうしてもdraw_textの方が良い場合は、

コード: 全て選択

文字列.split("\n").each_with_index {|text, i| $win1.contents.draw_text(0, 21 * i, 200, 21, text) }
で可能です
(splitで括弧内の文字で分割して配列にし、each_with_indexでループさせてます)

Re: contents.draw_text()メゾッドの引数に改行を用いたい

Posted: 2022年10月24日(月) 16:39
by much
おおー!そんなのあるんですね!
ちなみに何ですが、ツクールVXACEのメゾットの使用例などが記載されているリファレンスとかってあったりしますか?

Re: contents.draw_text()メゾッドの引数に改行を用いたい

Posted: 2022年10月25日(火) 18:56
by TOMO
VXAceのスクリプト(RGSS3)の講座サイト等を見て下さい
(VXの方でもある程度なら…)

それで足りない時はRubyの方のサイトで基本のメソッドを調べ、
VXAceのヘルプで専用のメソッドを調べるくらいしかないかと…


※RGSS2の講座サイト(CACAO SOFT様)
https://cacaosoft.mars.jp/

※Ruby 1.9.3のリファレンスサイト(VXAceは1.9.2だけど…)
https://docs.ruby-lang.org/ja/1.9.3/lib ... iltin.html