解決済み【RGSS3】ステータス画面のスキル表示

TANAKATANAKA
記事: 9
登録日時: 2017年2月11日(土) 12:01

解決済み【RGSS3】ステータス画面のスキル表示

投稿記事by TANAKATANAKA » 2017年2月14日(火) 01:09

いつもお世話になっております。
VX-ACEにてRPGを作成しています。

ステータス画面において、アクターの習得しているスキル表示を試みています。
見よう見まねで、スキルを表示することに成功しましたが、表示したいスキルの数が多い(最大で24個)ため、画面に収まりきならないという問題に直面しています。
表示スキルを12個で折り返して、横に表示したい(1列に縦12個、さらにもう1列に縦12個)というふうにしたいと考えていますが、どのようにすればよいか全くわからない状態です・・・。

要望が細かく、また他の人には全くメリットのない話ではありますが、どなたかご教示願えないでしょうか。
何卒よろしくお願いします。

※以下をWindow_Statusに加えて何とかスキルは表示できましたが、縦1列にしか表示されません。これを何とか縦2列表示にしたいというものです。

#--------------------------------------------------------------------------
# ● ブロック 3 の描画
#--------------------------------------------------------------------------
def draw_block2(y)
draw_skills(200,y + 24)
end
#--------------------------------------------------------------------------
# ● 魔法の描画
#--------------------------------------------------------------------------
def draw_skills(x, y)
@actor.skills.each_with_index do |item, i|
draw_item_name(item, x, y + line_height * i)
end
end
最後に編集したユーザー TANAKATANAKA on 2017年2月19日(日) 18:22 [ 編集 1 回目 ]

TOMO
記事: 343
登録日時: 2015年11月16日(月) 20:12
連絡を取る:

Re: 【RGSS3】ステータス画面のスキル表示

投稿記事by TOMO » 2017年2月14日(火) 06:12

自己解決しそうな気がしますが、一応答えます

コード: 全て選択

@actor.skills.each_with_index do |item, i|
  draw_item_name(item, x, y + line_height * i)
end


コード: 全て選択

@actor.skills.each_with_index do |item, i|
  break if i >= 24
  draw_item_name(item,x+(i/12) *172,y+line_height*(i%12))
end

といった感じにすれば出来ます
(「172」は適当なので、そちらで調整してください)
TANAKATANAKA
記事: 9
登録日時: 2017年2月11日(土) 12:01

Re: 【RGSS3】ステータス画面のスキル表示

投稿記事by TANAKATANAKA » 2017年2月19日(日) 18:22

ありがとうございました。
無事に解決いたしました。

“VX / Ace:質問” へ戻る