TrokoreEmbryon
Messages : 1573 Age : 30 Loisirs : Dormir Date d'inscription : 16/04/2007
Caractéristiques du membre Evolution: Atome Job: Mapping, events, un peu ruby ^^ XP: (20/20)
| Sujet: menu a la secret of mana Mer 29 Aoû 2007 - 17:00 | |
| bonjour voici a quoi ressemble ce menu, en forme de cercle: alors ? sympas non ? auteur: seb076 MakirouAru voici le script a placer au dessus de main et a appeler "Ring_Menu". - Code:
-
#================================== # Window_RingMenu #================================== class Window_RingMenu < Window_Base STARTUP_FRAMES = 20 # Vitesse d'ouverture du menu MOVING_FRAMES = 10 # Vitesse de rotation des icônes RING_R = 64 # Le Rayon du cercle ICON_ITEM = RPG::Cache.icon("034-Item03") # Mettre l'icône que vous voulez ICON_SKILL = RPG::Cache.icon("044-Skill01") # Mettre l'icône que vous voulez ICON_EQUIP = RPG::Cache.icon("001-Weapon01") # Mettre l'icône que vous voulez ICON_STATUS = RPG::Cache.icon("050-Skill07") # Mettre l'icône que vous voulez ICON_SAVE = RPG::Cache.icon("038-Item07") # Mettre l'icône que vous voulez ICON_EXIT = RPG::Cache.icon("046-Skill03") # Mettre l'icône que vous voulez ICON_DISABLE= RPG::Cache.icon("") SE_STARTUP = "056-Right02" # Le son d'ouverture du menu (si aucun mettre ( "" ) MODE_START = 1 MODE_WAIT = 2 MODE_MOVER = 3 MODE_MOVEL = 4 attr_accessor :index def initialize( center_x, center_y ) super(0, 0, 640, 480) self.contents = Bitmap.new(width-32, height-32) self.contents.font.name = "Arial" #Mettre la police que vous voulez self.opacity = 0 self.back_opacity = 0 s1 = "Objet" s2 = "Compétence" s3 = "Equiper" s4 = "Etat" s5 = "Sauvegarder" s6 = "Quitter" @commands = [ s1, s2, s3, s4, s5, s6 ] @item_max = 6 @index = 0 @items = [ ICON_ITEM, ICON_SKILL, ICON_EQUIP, ICON_STATUS, ICON_SAVE, ICON_EXIT ] @disabled = [ false, false, false, false, false, false ] @cx = center_x - 16 @cy = center_y - 16 setup_move_start refresh end def update super refresh end def refresh self.contents.clear case @mode when MODE_START refresh_start when MODE_WAIT refresh_wait when MODE_MOVER refresh_move(1) when MODE_MOVEL refresh_move(0) end rect = Rect.new(@cx - 272, @cy + 24, self.contents.width-32, 32) self.contents.draw_text(rect, @commands[@index],1) end def refresh_start d1 = 2.0 * Math::PI / @item_max d2 = 1.0 * Math::PI / STARTUP_FRAMES r = RING_R - 1.0 * RING_R * @steps / STARTUP_FRAMES for i in 0...@item_max j = i - @index d = d1 * j + d2 * @steps x = @cx + ( r * Math.sin( d ) ).to_i y = @cy - ( r * Math.cos( d ) ).to_i draw_item(x, y, i) end @steps -= 1 if @steps < 1 @mode = MODE_WAIT end end def refresh_wait d = 2.0 * Math::PI / @item_max for i in 0...@item_max j = i - @index x = @cx + ( RING_R * Math.sin( d * j ) ).to_i y = @cy - ( RING_R * Math.cos( d * j ) ).to_i draw_item(x, y, i) end end def refresh_move( mode ) d1 = 2.0 * Math::PI / @item_max d2 = d1 / MOVING_FRAMES d2 *= -1 if mode != 0 for i in 0...@item_max j = i - @index d = d1 * j + d2 * @steps x = @cx + ( RING_R * Math.sin( d ) ).to_i y = @cy - ( RING_R * Math.cos( d ) ).to_i draw_item(x, y, i) end @steps -= 1 if @steps < 1 @mode = MODE_WAIT end end def draw_item(x, y, i) rect = Rect.new(0, 0, @items[i].width, @items[i].height) if @index == i self.contents.blt( x, y, @items[i], rect ) if @disabled[@index] self.contents.blt( x, y, ICON_DISABLE, rect ) end else self.contents.blt( x, y, @items[i], rect, 128 ) if @disabled[@index] self.contents.blt( x, y, ICON_DISABLE, rect, 128 ) end end end def disable_item(index) @disabled[index] = true end def setup_move_start @mode = MODE_START @steps = STARTUP_FRAMES if SE_STARTUP != nil and SE_STARTUP != "" Audio.se_play("Audio/SE/" + SE_STARTUP, 80, 100) end end def setup_move_move(mode) if mode == MODE_MOVER @index -= 1 @index = @items.size - 1 if @index <0>= @items.size else return end @mode = mode @steps = MOVING_FRAMES end def animation? return @mode != MODE_WAIT end end #================================== # Window_MenuStatus #==================================
class Window_RingMenuStatus < Window_Selectable def initialize super(204, 64, 232, 352) self.contents = Bitmap.new(width - 32, height - 32) refresh self.active = false self.index = -1 end def refresh self.contents.clear self.contents.font.name = "Arial" @item_max = $game_party.actors.size for i in 0...$game_party.actors.size x = 80 y = 80 * i actor = $game_party.actors[i] draw_actor_graphic(actor, x - 40, y + 80) draw_actor_name(actor, x, y + 24) end end def update_cursor_rect if @index < 0 self.cursor_rect.empty else self.cursor_rect.set(0, @index * 80, self.width - 32, 80) end end end #================================== # Scene_RingMenu # Scene_Menu #==================================
class Scene_Menu def initialize(menu_index = 0) @menu_index = menu_index end def main @spriteset = Spriteset_Map.new px = $game_player.screen_x - 15 py = $game_player.screen_y - 24 @command_window = Window_RingMenu.new(px,py) @command_window.index = @menu_index if $game_party.actors.size == 0 @command_window.disable_item(0) @command_window.disable_item(1) @command_window.disable_item(2) @command_window.disable_item(3) end @command_window.z = 100 if $game_system.save_disabled @command_window.disable_item(4) end @status_window = Window_RingMenuStatus.new @status_window.x = 160 @status_window.y = 0 @status_window.z = 200 @status_window.visible = false Graphics.transition loop do Graphics.update Input.update update if $scene != self break end end Graphics.freeze @spriteset.dispose @command_window.dispose @status_window.dispose end def update @command_window.update @status_window.update if @command_window.active update_command return end if @status_window.active update_status return end end def update_command if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) $scene = Scene_Map.new return end if Input.trigger?(Input::C) if $game_party.actors.size == 0 and @command_window.index <4>= 2 $game_system.se_play($data_system.buzzer_se) return end $game_system.se_play($data_system.decision_se) $scene = Scene_Skill.new(@status_window.index) when 2 $game_system.se_play($data_system.decision_se) $scene = Scene_Equip.new(@status_window.index) when 3 $game_system.se_play($data_system.decision_se) $scene = Scene_Status.new(@status_window.index) end return end end end
Edit d'Azurean: J'ai rendu ce script à son propriétaire véritable. |
|
Doubler78Embryon
Messages : 1816 Age : 28 Date d'inscription : 06/08/2007
Caractéristiques du membre Evolution: Atome Job: XP: (20/20)
| Sujet: Re: menu a la secret of mana Mer 29 Aoû 2007 - 17:31 | |
| C'est quoi la difference ? |
|
Azurean
Messages : 2524 Age : 31 Date d'inscription : 02/10/2006
Caractéristiques du membre Evolution: Atome Job: Les scripts et les évènements XP: (-42/20)
| Sujet: Re: menu a la secret of mana Mer 29 Aoû 2007 - 17:44 | |
| Regarde le screen, et tu verras. La sélection du menu est en rond, alors qu'elle se fait par défaut dans les fenêtres bleues. |
|
Doubler78Embryon
Messages : 1816 Age : 28 Date d'inscription : 06/08/2007
Caractéristiques du membre Evolution: Atome Job: XP: (20/20)
| Sujet: Re: menu a la secret of mana Jeu 30 Aoû 2007 - 8:22 | |
| Je sais Je sais , merci gogo Mais..... il n'y avait pas se script sur le forum , si non : désolé |
|
Zero
Messages : 1755 Age : 32 Loisirs : Fight, Drink and Fuck Date d'inscription : 26/04/2007
Caractéristiques du membre Evolution: Atome Job: La fête ! XP: (20/20)
| Sujet: Re: menu a la secret of mana Jeu 30 Aoû 2007 - 8:29 | |
| si il y est deja... oser par nara bakura |
|
Doubler78Embryon
Messages : 1816 Age : 28 Date d'inscription : 06/08/2007
Caractéristiques du membre Evolution: Atome Job: XP: (20/20)
| Sujet: Re: menu a la secret of mana Jeu 30 Aoû 2007 - 8:31 | |
| Ok , donc c'est un sujet inutile oui ou non ? |
|
Keldak
Messages : 2270 Age : 30 Loisirs : Un mouch... ATCHA! Date d'inscription : 27/12/2006
Caractéristiques du membre Evolution: Atome Job: XP: (20/20)
| Sujet: Re: menu a la secret of mana Jeu 30 Aoû 2007 - 11:42 | |
| - Code:
-
ICON_ITEM = RPG::Cache.icon("034-Item03") # Mettre l'icône que vous voulez ICON_SKILL = RPG::Cache.icon("044-Skill01") # Mettre l'icône que vous voulez ICON_EQUIP = RPG::Cache.icon("001-Weapon01") # Mettre l'icône que vous voulez ICON_STATUS = RPG::Cache.icon("050-Skill07") # Mettre l'icône que vous voulez ICON_SAVE = RPG::Cache.icon("038-Item07") # Mettre l'icône que vous voulez ICON_EXIT = RPG::Cache.icon("046-Skill03") # Mettre l'icône que vous voulez
Dans ces lignes, vous pouvez changer les icones. |
|
Contenu sponsorisé
| Sujet: Re: menu a la secret of mana | |
| |
|