Code: |
#============================================================================== # ■ Pokemon_Menu # Pokemon Script Project - Krosk # 18/07/07 # 22/02/10 - Palbolsky #----------------------------------------------------------------------------- # Scène modifiable #----------------------------------------------------------------------------- #============================================================================== # ■ Pokemon_Menu # Pokemon Script Project - Krosk # 18/07/07 # 22/02/10 - Palbolsky #----------------------------------------------------------------------------- # Scène modifiable #----------------------------------------------------------------------------- # Menu principal accessible par échap #----------------------------------------------------------------------------- module POKEMON_S class Pokemon_Menu < Window_Base #-------------------------------------------------------------------------- # #-------------------------------------------------------------------------- def initialize(menu_index = 0) @menu_index = menu_index super(0,0,640,480) self.contents = Bitmap.new(width - 32, height - 32) self.opacity = 0 self.z = 11 end #-------------------------------------------------------------------------- # #-------------------------------------------------------------------------- def main @spriteset = Spriteset_Map.new @interface = Interface_Echap.new #-----Affichage Pokemon if $pokemon_party.size >= 1 @pkm1 = Sprite.new @pkm1.bitmap = RPG::Cache.battler("Icon/" + "#{sprintf('%03d', $pokemon_party.actors[0].id)}", 0) @pkm1.x = 198 + 5 @pkm1.y = 219 + 6 end if $pokemon_party.size >= 2 @pkm2 = Sprite.new @pkm2.bitmap = RPG::Cache.battler("Icon/" + "#{sprintf('%03d', $pokemon_party.actors[1].id)}", 0) @pkm2.x = 232 + 5 @pkm2.y = 240 + 5 end if $pokemon_party.size >= 3 @pkm3 = Sprite.new @pkm3.bitmap = RPG::Cache.battler("Icon/" + "#{sprintf('%03d', $pokemon_party.actors[2].id)}", 0) @pkm3.x = 200 + 5 @pkm3.y = 261 + 5 end if $pokemon_party.size >= 4 @pkm4 = Sprite.new @pkm4.bitmap = RPG::Cache.battler("Icon/" + "#{sprintf('%03d', $pokemon_party.actors[3].id)}", 0) @pkm4.x = 232 + 5 @pkm4.y = 285 + 5 end if $pokemon_party.size >= 5 @pkm5 = Sprite.new @pkm5.bitmap = RPG::Cache.battler("Icon/" + "#{sprintf('%03d', $pokemon_party.actors[4].id)}", 0) @pkm5.x = 197 + 5 @pkm5.y = 308 + 5 end if $pokemon_party.size == 6 @pkm6 = Sprite.new @pkm6.bitmap = RPG::Cache.battler("Icon/" + "#{sprintf('%03d', $pokemon_party.actors[5].id)}", 0) @pkm6.x = 230 + 5 @pkm6.y = 328 + 5 end if POKEMON_S::VIEWER_TEAM @pkmn_team = Pokemon_Equipe.new end s1 = "POKéDEX" s2 = "POKéMON" s3 = "SAC" s4 = "DRESSEUR" s5 = "SAUVER" s6 = "RETOUR" @command_window = Window_Command.new(80, [s1, s2, s3, s4, s5, s6], $fontsizebig, 2, 14) @command_window.index = @menu_index @command_window.x = 480 - 169 - 123 + 200 @command_window.y = 28 - 20 @command_window.z = 10000 @command_window.visible = false @selecteur = Sprite.new @selecteur.z = 200 @selecteur.bitmap = RPG::Cache.picture("CurseurMercure") if @command_window.index == 0 @selecteur.x = 201 @selecteur.y = 263 elsif @command_window.index == 1 @selecteur.x = 201 @selecteur.y = 283 elsif @command_window.index == 2 @selecteur.x = 201 @selecteur.y = 303 elsif @command_window.index == 3 @selecteur.x = 201 @selecteur.y = 323 elsif @command_window.index == 4 @selecteur.x = 201 @selecteur.y = 343 elsif @command_window.index == 5 @selecteur.x = 201 @selecteur.y = 363 end if $pokemon_party.size == 0 # Enlève accès Equipe @command_window.disable_item(2) end if not($data_pokedex[0]) # Enlève accès Pokédex si non possédé @command_window.disable_item(0) end if $game_system.save_disabled @command_window.disable_item(5) end @command_window.disable_item(5) Graphics.transition loop do Graphics.update Input.update update if $scene != self break end end Graphics.freeze @command_window.dispose @spriteset.dispose @selecteur.dispose @interface.dispose @pkmn_team.dispose if not @pkmn_team.nil? Graphics.freeze end #-------------------------------------------------------------------------- # #-------------------------------------------------------------------------- def update if @command_window.index == 0 @selecteur.x = 201 @selecteur.y = 263 elsif @command_window.index == 1 @selecteur.x = 201 @selecteur.y = 283 elsif @command_window.index == 2 @selecteur.x = 201 @selecteur.y = 303 elsif @command_window.index == 3 @selecteur.x = 201 @selecteur.y = 323 elsif @command_window.index == 4 @selecteur.x = 201 @selecteur.y = 343 elsif @command_window.index == 5 @selecteur.x = 201 @selecteur.y = 363 end # ウィンドウを更新 @command_window.update @spriteset.update @selecteur.update @interface.update # コマンドウィンドウがアクティブの場合: update_command を呼ぶ if @command_window.active update_command return end end def dispose super end #-------------------------------------------------------------------------- # ● フレーム更新 (コマンドウィンドウがアクティブの場合) #-------------------------------------------------------------------------- def update_command # B ボタンが押された場合 if Input.trigger?(Input::B) # キャンセル SE を演奏 $game_system.se_play($data_system.cancel_se) # マップ画面に切り替え $scene = Scene_Map.new self.contents.clear return end # C ボタンが押された場合 if Input.trigger?(Input::C) # パーティ人数が 0 人で、セーブ、ゲーム終了以外のコマンドの場合 if $game_party.actors.size == 0 and @command_window.index < 4 # ブザー SE を演奏 $game_system.se_play($data_system.buzzer_se) return end # コマンドウィンドウのカーソル位置で分岐 case @command_window.index when 0 # Pokédex if not($data_pokedex[0]) $game_system.se_play($data_system.buzzer_se) return end $game_system.se_play($data_system.decision_se) $scene = Pokemon_Pokedex.new self.contents.clear when 1 # Menu if $pokemon_party.size == 0 $game_system.se_play($data_system.buzzer_se) return end $game_system.se_play($data_system.decision_se) $scene = Pokemon_Party_Menu.new when 2 # Sac $game_system.se_play($data_system.decision_se) $scene = Pokemon_Item_Bag.new when 3 # Carte dresseur $game_system.se_play($data_system.decision_se) $game_temp.common_event_id = 19 $scene = Scene_Map.new when 4 # Sauvegarde if $game_system.save_disabled $game_system.se_play($data_system.buzzer_se) return end $game_system.se_play($data_system.decision_se) $scene = Pokemon_Save.new self.contents.clear when 5 # Retour $game_system.se_play($data_system.decision_se) $scene = Scene_Map.new end return end end end end |