Option dans le menu

Publié le par Cid6

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 le script  crédits 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 !

Publicité

Publié dans Scripts RPG Makers XP

Pour être informé des derniers articles, inscrivez vous :
Commenter cet article
J
J'ai mis $scene = Scene_Avant.new mais je ne comprend pas comment appeler un scene ! Merci de m'aider !
Répondre
C
Salut.   Cela fait des mois que je n'ai pas touché au ruby, mais je ferais ce qu'il est en mon possible pour t'aider.La seule phrase : $scene = Scene_Avant.new  devrait appeler la scène. Quand on parle de scène, on ne parle pas du tout de "carte". La scène est un script comme celui de l'option "magie", dans le menu.Je pense que ce que tu veux faire, si c'est bien dans le menu de demarrage, c'est une scène qui montre les évènements passés. Dans ce cas là, tu peux te contenter de faire une carte. Dans le "When 3", tu devra mettre : $data_system.start_x = 0    #Les coordonnées X de ta carte, là où le héro sera créé. $data_system.start_y = 0    #Les coordonnées Y de ta carte, là où le héro sera créé. $data_system.start_map_id = 238   #L'ID de la carte où se passera la scène "avant". command_new_game      #Ne rien changer ici.Voilà, j'espère t'avoir bien éclairé. Bonne continuation ! (Attention, le ruby est mauvais pour la santé).
N
Merci je vais voir ca!
Répondre
C
Ben en fait, au lieux de mettre une scéne tu peux mettre :<br /> Au lieux de :<br /> <br /> $scene = Scene_Avant.new<br /> <br /> Tu le remplace par :<br /> <br /> $data_system.start_x = 0<br /> $data_system.start_y = 0<br /> $data_system.start_map_id = 238<br /> command_new_game <br /> <br /> Alors tu rentre les coordonnées x et y de ton héro, et le ID de ta carte ou tu mettra un événement avec ton aide, et a la fin tu met retourner a l'écran titre.
Répondre
N
RE!!! J'ai ubn petit probleme, j'arrive a ajouter mon menu ( Aide ) mais je n'arrive pas a afficher sur ma Scene_Aide un message d'aide a peu près comme le menu charger un partie!<br /> A l'aide<br /> <br /> ps:Vos script sont super!
Répondre