レーネ様の「アイテム入手インフォ」と使ってゲームを作っているのですが、
文字数が多いと、枠の中からはみ出してしまいます。
どうにか、文字数を変えずに枠の中に収めることはできないでしょうか?
スクリプトには疎いので、分かる方は教えてくださいお願いします。
使用しているのは「誰かへの宣戦布告」様でダウンロードした物で、
<info:任意の文字列>の方で設定しても使用してもとくに変わりませんでした。
使用しているツクールは「RPGツクールVXace」です。
レーネ様のアイテム入手インフォについて質問です。
レーネ様のアイテム入手インフォについて質問です。
- 添付ファイル
-
- 2021-01-30 (3).png (29.76 KiB) 閲覧された回数 3840 回
Re: レーネ様のアイテム入手インフォについて質問です。
銀河。 様こんにちは
少しWindow関連のコードを見てみたんですがどうやら制御文字を使用するメソッドは
自動で幅を調整する機能がないのが原因のようですね
少しオリジナルで作ってみます
少々お待ちください
少しWindow関連のコードを見てみたんですがどうやら制御文字を使用するメソッドは
自動で幅を調整する機能がないのが原因のようですね
少しオリジナルで作ってみます
少々お待ちください
Re: レーネ様のアイテム入手インフォについて質問です。
銀河。様お待たせしました
自動でヘルプメッセージの幅を調整するスクリプトを作成してみました
レーネ様の入手インフォメーションより下に導入してください
なおレーネ様の入手インフォメーション専用で他の制御文字には影響を与えません
また、自動で縮小するようにはしましたが文字が長すぎると潰れてしまって読めなくなるので限界はあると思います
その点はご了承ください
スクリプト初心者なので不備があるかもしれません
何かあればいつでもどうぞ
自動でヘルプメッセージの幅を調整するスクリプトを作成してみました
レーネ様の入手インフォメーションより下に導入してください
なおレーネ様の入手インフォメーション専用で他の制御文字には影響を与えません
また、自動で縮小するようにはしましたが文字が長すぎると潰れてしまって読めなくなるので限界はあると思います
その点はご了承ください
スクリプト初心者なので不備があるかもしれません
何かあればいつでもどうぞ
コード: 全て選択
#==============================================================================
# ■ 制御文字自動縮小(レーネ様入手インフォメーション専用) Ver:1.00
#------------------------------------------------------------------------------
# レーネ様作入手インフォメーションのヘルプメッセージの幅を自動で調整します
#==============================================================================
#==============================================================================
# 〇使い方
#------------------------------------------------------------------------------
# ●レーネ様の入手インフォメーションより下に導入してください
#==============================================================================
class Window_Base < Window
#--------------------------------------------------------------------------
# ● 制御文字つきテキストの描画
#--------------------------------------------------------------------------
def draw_text_ex2(x, y, width, text)
base = width / 18
check = width * 1.0 / text.size
base > check ? w = check : w = 18
reset_font_settings
text = convert_escape_characters(text)
pos = {:x => x, :y => y, :new_x => x,
:width => w, :height => calc_line_height(text)}
process_character2(text.slice!(0, 1), text, pos) until text.empty?
end
#--------------------------------------------------------------------------
# ● 文字の処理
# c : 文字
# text : 描画処理中の文字列バッファ(必要なら破壊的に変更)
# pos : 描画位置 {:x, :y, :new_x, :height}
#--------------------------------------------------------------------------
def process_character2(c, text, pos)
case c
when "\n" # 改行
process_new_line(text, pos)
when "\f" # 改ページ
process_new_page(text, pos)
when "\e" # 制御文字
process_escape_character(obtain_escape_code(text), text, pos)
else # 普通の文字
process_normal_character2(c, pos)
end
end
#--------------------------------------------------------------------------
# ● 通常文字の処理
#--------------------------------------------------------------------------
def process_normal_character2(c, pos)
text_width = pos[:width]
draw_text(pos[:x], pos[:y], text_width * 2, pos[:height], c)
text_width == 18 ? pos[:x] += text_width : pos[:x] += text_width * 1.6
end
end
class Window_Getinfo < Window_Base
#--------------------------------------------------------------------------
# ● リフレッシュ
#--------------------------------------------------------------------------
def refresh(id, type, text = "")
case type
when 0 ; data = $data_items[id]
when 1 ; data = $data_weapons[id]
when 2 ; data = $data_armors[id]
when 3 ; data = $data_skills[id]
when 4 ; data = id
else ; p "typeの値がおかしいです><;"
end
c = B_COLOR
self.contents.fill_rect(0, 14, 544, 24, c)
if type < 4
draw_item_name(data, 4, 14)
draw_text_ex2(204, 14, 210, description(data))
else
draw_icon(G_ICON, 4, 14)
draw_text(28, 14, 176, line_height,
data.to_s + Vocab.currency_unit)
$game_party.gain_gold(id) if GET
end
self.contents.font.size = 14
w = contents.text_size(text).width
change_color(normal_color)
contents.fill_rect(0, 0, w + 4, 14, c)
contents.draw_text_f(4, 0, 340, 14, text)
$game_party.gain_item(data,1) if type <= 2 && GET
Graphics.frame_reset
end
end
Re: レーネ様のアイテム入手インフォについて質問です。
無事解決しました!
わざわざありがとうございます!
わざわざありがとうございます!