Poulet trizo Lv.3
Age : 32 Inscrit le : 18/11/2009 Messages : 42
| Sujet: Ajout pour la classe Coulor Mer 5 Mai 2010 - 17:41 | |
| Ceci permet que la classe Color puisse prendre en argument les codes hexadécimales comme "#FFFFFF" et ajoute 2 méthodes : to_hex #=> retourne le code hexadécimal et to_rgb #=> retourne la couleur sous la forme RVB. - Spoiler:
- Code:
-
=begin ############################# Aza_Hex_Color Author: Azuma-01 Version: 1.0 Date: 03 / 05 / 2010 Last Update: -- / -- / ---- =end ############################## #--------------------------------------------------------------- News ---------------------------------------------------------------- #- Color suporte les codes hexadécimales # Color.new(code[, alpha])
#- nouvelles méthodes : # #> to_hex #=> retourne le code hexadécimal de la couleur # Color.new(255, 255, 255).to_hex #=> "#FFFFFF" #> to_rgb #=> retourne la couleur sous la forme RVB # Color.new("#0000FF") #=> "(0.000000, 0.000000, 255.000000, 255.000000)"
#- méthodes modifiées: # #> to_s #=> retourne la couleur sous la forme RVB plus le code hexadécimal # Color.new("#FFFFFF").to_s #=> "(255.000000, 255.000000, 255.000000, 255.000000) #FFFFFF" # Color.new("#07FC5A", 100).to_s #=> "(7.000000, 252.000000, 90.000000, 100.000000) #07FC5A" # Color.new(143, 50, 100).to_s #=> "(143.000000, 50.000000, 100.000000, 255.000000) #8F3264" #> set(red, green, blue[,alpha]) ou set(code[, alpha]) #=> retourne self.to_s # foo = Color.new("#15D4E1") # foo.set(255, 0, 0, 100) #=> "(255.000000, 0.000000, 0.000000, 100.000000) #FF0000" # foo.set("#00FF00") #=> "(0.000000, 255.000000, 0.000000, 100.000000) #00FF00"
#----------------------------------------------------------- Instructions ------------------------------------------------------------ # Plug 'n' play #---------------------------------------------------------------------------------------------------------------------------------------- $AzaScritps ||= {} $AzaScritps['Azuma-01_Hex_Color'] = true #============================================================================== # ■ Window Letter Command #============================================================================== class Color #-------------------------------------------------------------------------- # * Alias Object Initialization #-------------------------------------------------------------------------- alias aza_hex_to_color_initialize initialize unless $@ def initialize(*args) if args[0].is_a?(String) hex_to_color(*args) else aza_hex_to_color_initialize(*args) end end #-------------------------------------------------------------------------- # * Alias Set #-------------------------------------------------------------------------- alias aza_hex_to_color_set set def set(*args) if args[0].is_a?(String) hex_to_color(*args) else aza_hex_to_color_set(*args) end end #-------------------------------------------------------------------------- # * Split The String # hex : Hex Code # alpha : Alpha (0 - 255) #-------------------------------------------------------------------------- def hex_to_color(hex, alpha = self.alpha) hex = hex.upcase.split(//) array = (("0".."9").to_a + ("A".."F").to_a + ["#"]) 7.times{|i| if !array.include?(hex[i]) or hex[7] != nil; print("Can't convert this string ''#{hex}'' into color"); exit; end} color = [] [[hex[1], hex[2]], [hex[3], hex[4]], [hex[5], hex[6]]].each{|num| result = [] num.each{|v| if ("A".."F").to_a.include?(v) result.push(v[0] - 55) else result.push(v.to_i) end } color.push((16 * result[0]) + result[1]) } self.red = color[0] self.green = color[1] self.blue = color[2] self.alpha = alpha return self end #-------------------------------------------------------------------------- # * Get The Color In Hex Form #-------------------------------------------------------------------------- def to_hex hex_code = ["#"] array = (("0".."9").to_a + ("A".."F").to_a) [red,green,blue].each{|color| x = (color / 16).to_i n1 = array[(0..15).to_a.index(x)] color - (16 * x ) - 1 n2 = array[color - (16 * x )] hex_code.push(n1 + n2) } return hex_code.to_s end #-------------------------------------------------------------------------- # * Alias Class String #-------------------------------------------------------------------------- alias old_to_s to_s unless $@ def to_s return sprintf("%s %s", self.old_to_s, self.to_hex) end #-------------------------------------------------------------------------- # * Get The Color In RGB Form #-------------------------------------------------------------------------- def to_rgb return self.old_to_s end end
|
|
Poulet carnivore Lv.2
Inscrit le : 19/04/2010 Messages : 17
| Sujet: Re: Ajout pour la classe Coulor Mer 5 Mai 2010 - 18:19 | |
| Désolé si je peux paraitre d'un gros noob mais en quoi consiste la "classe color" ? |
|
Poulet trizo Lv.3
Age : 32 Inscrit le : 18/11/2009 Messages : 42
| Sujet: Re: Ajout pour la classe Coulor Mer 5 Mai 2010 - 18:43 | |
| la Classe Color est la section qui gère les couleurs de Rpg Macker. C'est lui qui va transformer par exemple 255, 0, 0 en rouge, 0, 0, 0 en noir, etc. |
|
Poulet carnivore Lv.2
Inscrit le : 19/04/2010 Messages : 17
| Sujet: Re: Ajout pour la classe Coulor Mer 5 Mai 2010 - 20:32 | |
| D'accord merci pour ce script en tous cas , je testerai pour voir le résultat ; ) |
|
| Sujet: Re: Ajout pour la classe Coulor | |
| |
|