Age : 30 Inscrit le : 22/12/2011 Messages : 1600
| Sujet: [VX Ace] Menu horizontal Ven 2 Nov 2012 - 18:26 | |
| Crédit:Claimh Ce script vous permet d'avoir un menu horizontal. Screenshots:Instructions:Placez le script le script au-dessus de main...C'est tout. :p Script: - Code:
-
#============================================================================== # ■ VXAce-RGSS3-32 メニュー画面-改 by Claimh #------------------------------------------------------------------------------ # メニュー画面の表示を変更します #==============================================================================
#============================================================================== # ■ Window_MenuCommand #============================================================================== class Window_MenuCommand < Window_Command #-------------------------------------------------------------------------- # ● 桁数の取得 #-------------------------------------------------------------------------- def col_max 4 end #-------------------------------------------------------------------------- # ● ウィンドウ幅の取得 #-------------------------------------------------------------------------- def window_width Graphics.width end #-------------------------------------------------------------------------- # ● 表示行数の取得 #-------------------------------------------------------------------------- def visible_line_number 2 #item_max end end
#============================================================================== # ■ Window_HorzMenuStatus #============================================================================== class Window_HorzMenuStatus < Window_HorzCommand #-------------------------------------------------------------------------- # ● 公開インスタンス変数 #-------------------------------------------------------------------------- attr_reader :pending_index # 保留位置(並び替え用) #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- def initialize(x, y) @pending_index = -1 super(x, y) unselect deactivate end #-------------------------------------------------------------------------- # ● 項目数の取得 #-------------------------------------------------------------------------- def item_max $game_party.members.size end #-------------------------------------------------------------------------- # ● 桁数の取得 #-------------------------------------------------------------------------- def col_max 4 end #-------------------------------------------------------------------------- # ● 表示行数の取得 #-------------------------------------------------------------------------- def visible_line_number 1 end #-------------------------------------------------------------------------- # ● ウィンドウ幅の取得 #-------------------------------------------------------------------------- def window_width Graphics.width end #-------------------------------------------------------------------------- # ● ウィンドウ高さの取得 #-------------------------------------------------------------------------- def window_height Graphics.height - fitting_height(2) - fitting_height(1) end #-------------------------------------------------------------------------- # ● 項目の高さを取得 #-------------------------------------------------------------------------- def item_height height - standard_padding * 2 end #-------------------------------------------------------------------------- # ● 選択項目の有効状態を取得 #-------------------------------------------------------------------------- def current_item_enabled? true end #-------------------------------------------------------------------------- # ● 項目の描画 #-------------------------------------------------------------------------- def draw_item(index) actor = $game_party.members[index] enabled = $game_party.battle_members.include?(actor) rect = item_rect_for_text(index) draw_item_background(index) draw_actor_status(actor, rect.x, rect.y, item_width - 8) end #-------------------------------------------------------------------------- # ● アクターステータス描画 #-------------------------------------------------------------------------- def draw_actor_status(actor, x, y, width) draw_actor_name( actor, x, y + line_height * 0, width) draw_actor_face( actor, x+(width-96)/2, y + line_height * 1, width) y += 96 draw_actor_class(actor, x, y + line_height * 1, width) draw_actor_level(actor, x+width-60, y + line_height * 2) draw_actor_hp( actor, x, y + line_height * 3, width) draw_actor_mp( actor, x, y + line_height * 4, width) # draw_actor_tp( actor, x, y + line_height * 5, width) draw_actor_icons(actor, x, y + line_height * 5, width) end #-------------------------------------------------------------------------- # ● 項目の背景を描画 #-------------------------------------------------------------------------- def draw_item_background(index) if index == @pending_index contents.fill_rect(item_rect(index), pending_color) end end #-------------------------------------------------------------------------- # ● 決定ボタンが押されたときの処理 #-------------------------------------------------------------------------- def process_ok super $game_party.menu_actor = $game_party.members[index] end #-------------------------------------------------------------------------- # ● 前回の選択位置を復帰 #-------------------------------------------------------------------------- def select_last select($game_party.menu_actor.index || 0) end #-------------------------------------------------------------------------- # ● 保留位置(並び替え用)の設定 #-------------------------------------------------------------------------- def pending_index=(index) last_pending_index = @pending_index @pending_index = index redraw_item(@pending_index) redraw_item(last_pending_index) end end
#============================================================================== # ■ Window_MenuMap #============================================================================== class Window_MenuMap < Window_Base #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- def initialize(x, y) super(x, y, Graphics.width - 160, fitting_height(1)) refresh end #-------------------------------------------------------------------------- # ● リフレッシュ #-------------------------------------------------------------------------- def refresh contents.clear draw_text(4, 0, contents_width, line_height, $game_map.display_name) end end
class Sprite_MenuBack < Sprite #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- def initialize(viewport, x, y, h) super(viewport) self.x = x self.y = y self.bitmap = Bitmap.new(Graphics.width, h) self.bitmap.fill_rect(0, 0, Graphics.width, h, Color.new(0,0,0,128)) end end
#============================================================================== # ■ Scene_Menu #============================================================================== class Scene_Menu < Scene_MenuBase #-------------------------------------------------------------------------- # ● ゴールドウィンドウの作成 #-------------------------------------------------------------------------- def create_gold_window @gold_window = Window_Gold.new @gold_window.x = Graphics.width - @gold_window.width @gold_window.y = Graphics.height - @gold_window.height @map_window = Window_MenuMap.new(0, @gold_window.y) end #-------------------------------------------------------------------------- # ● ステータスウィンドウの作成 #-------------------------------------------------------------------------- def create_status_window @status_window = Window_HorzMenuStatus.new(0, @command_window.height) end end
Voilà. |
|
Aventurier Lv.16
Age : 40 Inscrit le : 03/09/2009 Messages : 1503
| Sujet: Re: [VX Ace] Menu horizontal Ven 2 Nov 2012 - 19:29 | |
| Il y avait pas un script similaire sur VX ? Sinon merci du partage. =) |
|
Age : 30 Inscrit le : 22/12/2011 Messages : 1600
| Sujet: Re: [VX Ace] Menu horizontal Ven 2 Nov 2012 - 19:45 | |
| |
|
Poulet trizo Lv.3
Age : 31 Inscrit le : 29/10/2012 Messages : 36
| Sujet: Re: [VX Ace] Menu horizontal Ven 2 Nov 2012 - 19:46 | |
| Merci du partage |
|
Voyageur Lv.10
Age : 23 Inscrit le : 27/07/2012 Messages : 433
| Sujet: Re: [VX Ace] Menu horizontal Sam 3 Nov 2012 - 8:35 | |
| |
|
| Sujet: Re: [VX Ace] Menu horizontal | |
| |
|