Créer une nouvelle option dans le menu


1.Preparation

tutorial ruby

Apprenez à créer des options dans le menu, l'écran titre, etc .... grâce à ce tuto...

Le script qui gère les options, choix est le "Window_Command" :

#==============================================================================
# ■ Window_Command
#------------------------------------------------------------------------------
#  一般的なコマンド選択を行うウィンドウです。
#==============================================================================

class Window_Command < Window_Selectable
#--------------------------------------------------------------------------
# ● オブジェクト初期化
# width : ウィンドウの幅
# commands : コマンド文字列の配列
#--------------------------------------------------------------------------
def initialize(width, commands)
# コマンドの個数からウィンドウの高さを算出
super(0, 0, width, commands.size * 32 + 32)
@item_max = commands.size
@commands = commands
self.contents = Bitmap.new(width - 32, @item_max * 32)
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
refresh
self.index = 0
end
#--------------------------------------------------------------------------
# ● リフレッシュ
#--------------------------------------------------------------------------
def refresh
self.contents.clear
for i in 0...@item_max
draw_item(i, normal_color)
end
end
#--------------------------------------------------------------------------
# ● 項目の描画
# index : 項目番号
# color : 文字色
#--------------------------------------------------------------------------
def draw_item(index, color)
self.contents.font.color = color
rect = Rect.new(4, 32 * index, self.contents.width - 8, 32)
self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
self.contents.draw_text(rect, @commands[index])
end
#--------------------------------------------------------------------------
# ● 項目の無効化
# index : 項目番号
#--------------------------------------------------------------------------
def disable_item(index)
draw_item(index, disabled_color)
end
end


Vous pouvez essayer de le modifier pour changer les options

Allez dans l'éditeur de scripts et allez voir "Scene_Title".



2.Script

Regardez à la ligne 37, vous verrez :

s1 = "Nouvelle partie"
s2 = "Charger une partie"
s3 = "Quitter"


Ce sont les options de l'écran titre, vous pouvez modifier les noms comme ça en passant .
En fait on donne des valeurs textes aux variables s1, s2, s3.

Puis il y a le bloc là :

@command_window = Window_Command.new(192, [s1, s2, s3])

On rend égal la variable locale @command_window au script, en quelques sortes, on l'appelle, 192 définit la largeur de la fenêtre et s1, s2, s3 les options utilisées...

Je vais vous expliquer comment créer une nouvelle option.

Imaginons que l'on veuille rajouter une option qui appelle une image : les crédits. Prenez ce script "image avant titre" et mettez une image de crédits dans le script Scene_Avant .
Rajoutez une option comme ceci :

s1 = "Nouvelle partie"
s2 = "Charger une partie"
s3 = "Quitter"
s4 = "Crédits"


rajoutez s4 ici :

@command_window = Window_Command.new(192, [s1, s2, s3, s4])


ensuite regardez à cet endroit :

case @command_window.index
when 0 # ニューゲーム
command_new_game
when 1 # コンティニュー
command_continue
when 2 # シャットダウン
command_shutdown
end

rajoutez :

when 3
$scene = Scene_Avant.new


La forme $scene = Scene_***.new permet d'appeler une scène !