Code: |
class Battle def initialize(enemy,player_ground_name,enemy_ground_name,background_name,sky,caught_training=false,safari_mode=false) @enemy = enemy @weather = $game_map.weather @player_ground_name = player_ground_name.to_s @enemy_ground_name = enemy_ground_name.to_s @background_name = background_name.to_s @sky = sky @caught_training = caught_training @safari_mode = safari_mode @group_battle = enemy.is_a?(Group) case @group_battle when true @enemy.type == 0 ? @trainer_battle = false : @trainer_battle = true when false @trainer_battle = @enemy.is_a?(Trainer) end end def main @enemys_bonus_states = [] @players_bonus_states = [] Audio.bgm_play(Directory.battle_music+"Combat Pokémon XY",100) Audio.me_play(Directory.battle_music+"Pré-Combat Pokémon XY") @background = Sprite.new @background.bitmap = Bitmap.new(Directory.background+@background_name) @background.z = 0 @enemy_ground = Sprite.new @enemy_ground.bitmap = Bitmap.new(Directory.ground+@enemy_ground_name+"enemy") @enemy_ground.x = @background.bitmap.width - @enemy_ground.bitmap.width + 11 @enemy_ground.y = 100 @enemy_ground.z = 1 case FileTest.exist?(@enemy.face+".gif") when true @enemy_sprite = GifSprite.new(@enemy.face+".gif") when false @enemy_sprite = Sprite.new @enemy_sprite.bitmap = Bitmap.new(@enemy.face) end @enemy_sprite.x = @enemy_ground.x + @enemy_ground.bitmap.width/2 - @enemy_sprite.bitmap.width/2 @enemy_sprite.y = @enemy_ground.y + @enemy_ground.bitmap.height/2 - @enemy_sprite.bitmap.height @enemy_sprite.z = 2 @player_ground = Sprite.new @player_ground.bitmap = Bitmap.new(Directory.ground+@player_ground_name) @player_ground.x = -68 @player_ground.y = @background.bitmap.height - @player_ground.bitmap.height/2 @player_ground.z = 3 case FileTest.exist?($player.team[0].back+".gif") when true @player_sprite = GifSprite.new($player.team[0].back+".gif") when false @player_sprite = Sprite.new @player_sprite.bitmap = Bitmap.new($player.team[0].back) end @player_sprite.zoom_x = @player_sprite.zoom_y = 2 @player_sprite.x = @player_ground.x + @player_ground.bitmap.width/2 - @player_sprite.bitmap.width/2 * @player_sprite.zoom_x @player_sprite.y = @player_ground.y + @player_ground.bitmap.height/2 - @player_sprite.bitmap.height * @player_sprite.zoom_y+50 @player_sprite.z = 4 show_text(Vocabulary.waiting_sentence(0,$player.team[0])) Graphics.transition loop do Graphics.update Input.update update if $scene != self break end end Graphics.freeze dispose Audio.me_stop end def update if Input.trigger?(Input::B) $scene = SceneMap.new $game_map.autoplay end @enemy_sprite.update @player_sprite.update end def show_text(texts) @message_text_length = 0 @space = 2 @message_text = Sprite.new @message_text.bitmap = Bitmap.new(Directory.battle+"Fond Message") @message_text.y = @background.bitmap.height - @message_text.bitmap.height @message_text.z = 5 case texts.is_a?(Array) when true texts.size.times do |i| if @message_text.bitmap.text_size(texts[i]).width > @message_text_length @message_text_length = @message_text.bitmap.text_size(texts[i]).width end end texts.size.times do |i| @message_text.bitmap.draw_text(0,i*Font.default_size+@space,@message_text_length,Font.default_size,texts[i]) end when false @message_text_length = @message_text.bitmap.text_size(texts).width @message_text.bitmap.draw_text(16,12,@message_text_length,Font.default_size,texts) end end def erase_text @message_text.dispose end def refresh end def dispose @background.dispose @enemy_ground.dispose @enemy_sprite.dispose @player_ground.dispose @player_sprite.dispose erase_text end end |
Zohran a écrit: |
x) J'avoue ce lecteur est gavant, en plus il peut y avoir des bugs d'affichage x) Tu sais pas sinon si on peut avoir des pixels art de tous les pokémon (6G compris) ? |