Code: |
class Editor def main @titles = ["Editeur", "Editeur d'objet", "Editeur de Pokémon", "Editeur d'Attaque", "Editeur de Capacités Spéciales", "Editeur de Nature"] @commands = ["Liste des Objets", "Liste des Pokémon", "Liste des Attaques", "Liste des Capacités Spéciales", "Liste des Natures", "Quitter"] @infos = ["Créer un nouvel objet ou éditer un objet existant.", "Créer un nouveau pokémon ou éditer un pokémon existant.", "Créer une nouvelle attaque ou éditer une attaque existante.", "Créer une nouvelle capacité spéciale ou éditer une capacité spéciale existante.", "Créer une nouvelle nature ou éditer une nature existante.", "Quitter l'Editeur de données"] @items_list = [] for i in 0..$data_items.size-1 @items_list.push(ItemData.name(i+1)) end @pokemon_list = [] for i in 0..$data_pokemon.size-1 @pokemon_list.push(PokemonData.name(i+1)) end @skills_list = [] for i in 0..$data_skills.size-1 @skills_list.push(SkillData.name(i+1)) end @abilitys_list = [] for i in 0..$data_abilitys.size-1 @items_list.push(AbilityData.name(i+1)) end @natures_list = [] for i in 0..$data_natures.size-1 @natures_list.push(NatureData.name(i)) end @lists = [@items_list,@pokemon_list,@skills_list,@abilitys_list,@natures_list] @current_title = @titles[0] @current_commands_list = @commands @current_infos_list = @infos @current_command = 0 @progression_level = 0 @space = 2 @length = 0 @height = @commands.size * Font.default_size + @space*(@current_commands_list.size-1) @title_sprite = Sprite.new @title_sprite.bitmap = Bitmap.new(100,Font.default_size) @title_length = @title_sprite.bitmap.text_size(@current_title).width @title_sprite.bitmap = Bitmap.new(@title_length,Font.default_size) @title_sprite.x = Graphics.width/2 - @title_sprite.width/2 @title_sprite.y = 2 @title_sprite.z = 5 @commands_sprite = Sprite.new @commands_sprite.bitmap = Bitmap.new(100,@height) for i in 0..@current_commands_list.size-1 if @commands_sprite.bitmap.text_size(@current_commands_list[i]).width > @length @length = @commands_sprite.bitmap.text_size(@current_commands_list[i]).width end end @commands_sprite.bitmap = Bitmap.new(@length,@height) @commands_sprite.x = Graphics.width/2 - @commands_sprite.width/2 @commands_sprite.y = @title_sprite.y + @title_sprite.height + 10 @info_sprite = Sprite.new @info_sprite.bitmap = Bitmap.new(100,Font.default_size) @info_length = @info_sprite.bitmap.text_size(@current_infos_list[@current_command]).width @info_sprite.bitmap = Bitmap.new(@info_length,Font.default_size) @info_sprite.x = Graphics.width/2 - @info_sprite.width/2 @info_sprite.y = @commands_sprite.y + @commands_sprite.height + 10 @info_sprite.z = 5 @cursor = Sprite.new @cursor.bitmap = Bitmap.new(Directory.editor+"Curseur") @cursor.ox = @cursor.width/2 @cursor.oy = @cursor.height/2 @cursor.x = @commands_sprite.x - @cursor.width - 2 @cursor.y = @commands_sprite.y update_title update_info update_commands_list(@current_commands_list) Graphics.transition loop do Graphics.update Input.update update if $scene != self break end end Graphics.freeze dispose end def update if Input.trigger?(Input::C) @progression_level += 1 if @progression_level == 1#A refaire @current_title = @titles[@current_command+1] end msgbox @current_title @progression_level += 1 @current_commands_list = @lists[@current_command] @current_infos_list = @infos @current_command = 0 update_title update_info update_commands_list(@current_commands_list) @info_sprite.bitmap.clear end update_current_command update_cursor end def update_title @title_sprite.bitmap.clear @title_sprite.bitmap.draw_text(0,0,@title_length,Font.default_size,@current_title) end def update_info if @progression_level < 1 @info_sprite.bitmap.clear @info_length = @info_sprite.bitmap.text_size(@current_infos_list[@current_command]).width @info_sprite.bitmap = Bitmap.new(@info_length,Font.default_size) @info_sprite.x = Graphics.width/2 - @info_sprite.width/2 @info_sprite.y = @commands_sprite.y + @commands_sprite.height + 10 @info_sprite.bitmap.draw_text(0,0,@info_length,Font.default_size,@current_infos_list[@current_command]) end end def update_commands_list(list) @commands_sprite.bitmap.clear for i in 0..list.size-1 @commands_sprite.bitmap.draw_text(0,i*Font.default_size+@space,@length,Font.default_size,list[i]) end end def update_current_command if Input.trigger?(Input::UP) and @current_command > 0 @current_command -= 1 end if Input.trigger?(Input::DOWN) and @current_command < @current_commands_list.size-1 @current_command += 1 end end def update_cursor @cursor.x = @commands_sprite.x - @cursor.width - 2 @cursor.y = @commands_sprite.y + @current_command*Font.default_size + @space*@current_command @cursor.angle -= 3 end def dispose @title_sprite.dispose @commands_sprite.dispose end end |
Nuri Yuri a écrit: |
if @progression_level < 1 Ca vient très probablement de là. |