RPG Fusion
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.



 
AccueilPortailRechercherDernières imagesS'enregistrerConnexion
Le Deal du moment : -24%
PC Portable Gaming 15.6″ Medion Erazer Deputy ...
Voir le deal
759.99 €

 

 Graphique sur la défense élémentale

Aller en bas 
AuteurMessage
deadcell
Trouvère Follet
Trouvère Follet
deadcell


Masculin
Nombre de messages : 625
Age : 35
Niveau Rpg Maker : Excellent Niveau
Jeux Préférés : Final Fantasy, Resident evil...
Date d'inscription : 21/03/2007

Graphique sur la défense élémentale Empty
MessageSujet: Graphique sur la défense élémentale   Graphique sur la défense élémentale EmptySam 28 Juil 2007, 20:03

Auteur: Inconnu

Fonction: Voici un script qui permet de voir dans l'état d'un personnage sa défense par rapport aux types d'éléments via un graphique.

Screen:

Graphique sur la défense élémentale Def_el10


Ouvrez l'éditeur de script (F11) et créer un nouveau script au dessus de "Main" et appelez-le "Graphic_Def_Elem" et collez le code ci-dessous:

Code:
#==============================================================================

        # Grapic_Def_Elem

        #==============================================================================

        class Window_Base

        FONT_SIZE = 18

        WORD_ELEMENT_GUARD = "Déf. Elémentale"

        NUMBER_OF_ELEMENTS = 8

        ELEMENT_ORDER = [1,3,8,5,2,4,7,6]

        GRAPH_SCALINE_COLOR = Color.new(255, 255, 255, 128)

        GRAPH_SCALINE_COLOR_SHADOW = Color.new( 0, 0, 0, 192)

        GRAPH_LINE_COLOR = Color.new(255, 255, 64, 255)

        GRAPH_LINE_COLOR_MINUS = Color.new( 64, 255, 255, 255)

        GRAPH_LINE_COLOR_PLUS = Color.new(255, 64, 64, 255)

        end

        #==============================================================================

        # ?¡ Window_Status

        #==============================================================================

        class Window_Status < Window_Base

        alias xrxs_mp4_refresh refresh

        def refresh

        xrxs_mp4_refresh

        draw_actor_element_radar_graph(@actor, 320, 240)

        end

        #--------------------------------------------------------------------------

        def draw_actor_element_radar_graph(actor, x, y, radius = 56)

        cx = x + radius + FONT_SIZE + 48

        cy = y + radius + FONT_SIZE + 32

        self.contents.font.color = system_color

        self.contents.draw_text(x, y, 104, 32, WORD_ELEMENT_GUARD)

        for loop_i in 0..NUMBER_OF_ELEMENTS if loop_i == 0

       

        else

        @pre_x = @now_x

        @pre_y = @now_y

        @pre_ex = @now_ex

        @pre_ey = @now_ey

        @color1 = @color2

        end

        if loop_i == NUMBER_OF_ELEMENTS

        eo = ELEMENT_ORDER[0]

        else

        eo = ELEMENT_ORDER[loop_i]

        end

        er = actor.element_rate(eo)

        estr = $data_system.elements[eo]

        @color2 = er < 0 ? GRAPH_LINE_COLOR_MINUS : er > 100 ? GRAPH_LINE_COLOR_PLUS : GRAPH_LINE_COLOR

        er = er.abs

        th = Math::PI * (0.5 - 2.0 * loop_i / NUMBER_OF_ELEMENTS)

        @now_x = cx + (radius * Math.cos(th)).floor

        @now_y = cy - (radius * Math.sin(th)).floor

        @now_wx = cx + ((radius+FONT_SIZE*2/2) * Math.cos(th)).floor - FONT_SIZE

        @now_wy = cy - ((radius+FONT_SIZE*1/2) * Math.sin(th)).floor - FONT_SIZE/2

        @now_vx = cx + ((radius+FONT_SIZE*6/2) * Math.cos(th)).floor - FONT_SIZE

        @now_vy = cy - ((radius+FONT_SIZE*3/2) * Math.sin(th)).floor - FONT_SIZE/2

        @now_ex = cx + (er*radius/100 * Math.cos(th)).floor

        @now_ey = cy - (er*radius/100 * Math.sin(th)).floor

        if loop_i == 0

        @pre_x = @now_x

        @pre_y = @now_y

        @pre_ex = @now_ex

        @pre_ey = @now_ey

        @color1 = @color2

        else

       

        end

        next if loop_i == 0

        self.contents.draw_line(cx+1,cy+1, @now_x+1,@now_y+1, GRAPH_SCALINE_COLOR_SHADOW)

        self.contents.draw_line(@pre_x+1,@pre_y+1, @now_x+1,@now_y+1, GRAPH_SCALINE_COLOR_SHADOW)

        self.contents.draw_line(cx,cy, @now_x,@now_y, GRAPH_SCALINE_COLOR)

        self.contents.draw_line(@pre_x,@pre_y, @now_x,@now_y, GRAPH_SCALINE_COLOR)

        self.contents.draw_line(@pre_ex,@pre_ey, @now_ex,@now_ey, @color1, 2, @color2)

        self.contents.font.size = FONT_SIZE

        self.contents.font.color = system_color

        self.contents.draw_text(@now_wx,@now_wy, FONT_SIZE*2, FONT_SIZE, estr, 1)

        self.contents.font.color = Color.new(255,255,255,128)

        self.contents.draw_text(@now_vx,@now_vy, FONT_SIZE*2, FONT_SIZE, er.to_s + "%", 2)

        end

        end

        end

        #==============================================================================

        # ?ž ŠO•”ƒ‰ƒCƒuƒ‰ƒŠ

        #==============================================================================

        class Bitmap

        def draw_line(start_x, start_y, end_x, end_y, start_color, width = 1, end_color = start_color)

        distance = (start_x - end_x).abs + (start_y - end_y).abs

        if end_color == start_color

        for i in 1..distance

        x = (start_x + 1.0 * (end_x - start_x) * i / distance).to_i

        y = (start_y + 1.0 * (end_y - start_y) * i / distance).to_i

        if width == 1

        self.set_pixel(x, y, start_color)

        else

        self.fill_rect(x, y, width, width, start_color)

        end

        end

        else

        for i in 1..distance

        x = (start_x + 1.0 * (end_x - start_x) * i / distance).to_i

        y = (start_y + 1.0 * (end_y - start_y) * i / distance).to_i

        r = start_color.red * (distance-i)/distance + end_color.red * i/distance

        g = start_color.green * (distance-i)/distance + end_color.green * i/distance

        b = start_color.blue * (distance-i)/distance + end_color.blue * i/distance

        a = start_color.alpha * (distance-i)/distance + end_color.alpha * i/distance

        if width == 1

        self.set_pixel(x, y, Color.new(r, g, b, a))

        else

        self.fill_rect(x, y, width, width, Color.new(r, g, b, a))

        end

        end

        end

        end

        end
Revenir en haut Aller en bas
 
Graphique sur la défense élémentale
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Retouche graphique
» ressource graphique : Ratchet et Clank

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Fusion :: BANQUE DU CODE :: Antre des Scripts :: Menu-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser