Partagez
Aller en bas
avatar
no0ony
Staffeux retraité

Nombre de messages : 2037
Age : 28
Localisation : Vosges (88)
Distinction : aucune
Date d'inscription : 15/04/2013

Résolu Comment faire pour ajouter une deuxième image

le Mar 23 Fév 2016 - 16:16
Bonjour à tous, voilà mon problème :
Vincent26 m'as créer ce script me permettant de faire pivoter une image sans tremblement et en pouvant modifier la vitesse de rotation.
Ce script me permet uniquement d'utiliser l'image nommé "Pales" mais j'aimerais justement avoir la possibilité d'utiliser d'autre image (donc autre que "pales").

Voici le script :

Code:
  #Animated_envirronment
    class Game_Event
      def name
        @event.name
      end
    end
    class Sprite_Character
    
      alias set_character_bitmap_animated_envirronment set_character_bitmap
      def set_character_bitmap
        if @character.is_a?(Game_Event)
          if @character.name =~ /Pales/
            self.bitmap = Cache.picture("Pales")
            self.ox = self.bitmap.width/2
            self.oy = self.bitmap.height/2
            @cw = bitmap.width
            @ch = bitmap.height
            @angle = 0.0
            return
          end
        end
        set_character_bitmap_animated_envirronment
      end
      alias update_position_animated_envirronment update_position
      def update_position
        update_position_animated_envirronment
        if @character.is_a?(Game_Event)
          if @character.name =~ /Pales/
            self.y -= 16
            self.z = 300
          end
        end
      end
      alias update_src_rect_animated_envirronment update_src_rect
      def update_src_rect
        if @character.is_a?(Game_Event)
          if @character.name =~ /Pales/
            self.src_rect.set(0, 0, @cw, @ch)
            return
          end
        end
        update_src_rect_animated_envirronment
      end
      alias update_animated_envirronment update
      def update
        update_animated_envirronment
        if @character.is_a?(Game_Event)
          if @character.name =~ /Pales (\d+)/
            vit = @character.name[6..-1].to_f
            @angle += vit
            self.angle = @angle
          end
        end
      end
    
    end



Dernière édition par no0ony le Mar 23 Fév 2016 - 17:58, édité 1 fois
avatar
tonyryu
Membre

Nombre de messages : 895
Age : 38
Localisation : Près de Nantes
Distinction : aucune
Date d'inscription : 27/05/2010
http://www.tonyryudev.com

Résolu Re: Comment faire pour ajouter une deuxième image

le Mar 23 Fév 2016 - 17:06
A oui effectivement, ça manque de souplesse.

Bon on va modifier un peu le script, pour rendre un peu plus facile le paramétrage

Tu peux me donner le nom d'un de tes event avec Pales?
avatar
no0ony
Staffeux retraité

Nombre de messages : 2037
Age : 28
Localisation : Vosges (88)
Distinction : aucune
Date d'inscription : 15/04/2013

Résolu Re: Comment faire pour ajouter une deuxième image

le Mar 23 Fév 2016 - 17:12
Ok super c'est gentil.
Il suffit d'appeler l'event "Pales x" (x étant une valeur pour définir la vitesse de rota)
avatar
tonyryu
Membre

Nombre de messages : 895
Age : 38
Localisation : Près de Nantes
Distinction : aucune
Date d'inscription : 27/05/2010
http://www.tonyryudev.com

Résolu Re: Comment faire pour ajouter une deuxième image

le Mar 23 Fév 2016 - 17:25
Tu peux test cela :

Code:
 #Animated_envirronment
    class Game_Event
      def name
        @event.name
      end
    end
    
    class Sprite_Character
      
      def is_Pales?
        return @character.name.split(' ')[0] == "Pales"
      end
      
      def vitesse_pales
        if is_Pales?
          return @character.name.split(' ')[1].to_f
        end
        return 0.0
      end
      
      def nom_img_pales
        if is_Pales?
          if !@character.name.split(' ')[2].nil?
            return @character.name.split(' ')[2]
          end
        end
        return "Pales"
      end
      
      alias set_character_bitmap_animated_envirronment set_character_bitmap
      def set_character_bitmap
        if @character.is_a?(Game_Event)
          if is_Pales?
            self.bitmap = Cache.picture(nom_img_pales)
            self.ox = self.bitmap.width/2
            self.oy = self.bitmap.height/2
            @cw = bitmap.width
            @ch = bitmap.height
            @angle = 0.0
            return
          end
        end
        set_character_bitmap_animated_envirronment
      end
      alias update_position_animated_envirronment update_position
      def update_position
        update_position_animated_envirronment
        if @character.is_a?(Game_Event)
          if is_Pales?
            self.y -= 16
            self.z = 300
          end
        end
      end
      alias update_src_rect_animated_envirronment update_src_rect
      def update_src_rect
        if @character.is_a?(Game_Event)
          if is_Pales?
            self.src_rect.set(0, 0, @cw, @ch)
            return
          end
        end
        update_src_rect_animated_envirronment
      end
      alias update_animated_envirronment update
      def update
        update_animated_envirronment
        if @character.is_a?(Game_Event)
          if is_Pales?
            vit = vitesse_pales
            @angle += vit
            self.angle = @angle
          end
        end
      end
    
    end

Donc pour ton fonctionnement natif, tu laisses comme c'était : Pales x  (x étant la vitesse) ex : Pales 10
Et pour changer d'image : Pales x y (x étant la vitesse, y le nom de l'image dans le dossier pictures) ex : Pales 5 moulin

Peut-être voir le décalage en x, si faudrait pas le modifier également.
avatar
no0ony
Staffeux retraité

Nombre de messages : 2037
Age : 28
Localisation : Vosges (88)
Distinction : aucune
Date d'inscription : 15/04/2013

Résolu Re: Comment faire pour ajouter une deuxième image

le Mar 23 Fév 2016 - 17:55
je vais tester ça de suite merci.
EDIT : C'est parfait ça fonctionne très bien, merci beaucoup !
Contenu sponsorisé

Résolu Re: Comment faire pour ajouter une deuxième image

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum