Oniromancie: Scripts - Classe CSS


Comment ça marche?

Aëdemphia
Par Sylvanor

Fighting Robots Quest
Par Boulon

Forstale
Par Ødd Clock

Geex
Par roys

Inexistence
Par Falco

La Légende d'Ibabou
Par Zaitan

Lije
Par Gaetz

LoveMaster
Par Cuddlefox

Sarcia
Par Kaëlar

Super Mario RPG - Lost Souls
Par Omegabowser

News: Concours des Alex d'Or 2017-18: (...) / News: MegaMaker : créez votre propre (...) / News: Test de Tinker Quarry / Sorties: Leave the Room / Jeux: Leave the Room /

Chat  (21 connectés)

Bienvenue
visiteur !






publicité RPG Maker!

Statistiques

Liste des
membres


Contact

70 connectés actuellement

9176625 visiteurs
depuis l'ouverture

890 visiteurs
aujourd'hui

Groupe Facebook

Barre de séparation

Partenaires




TOP
GAMEMAKING


Les 5 plus
visités

Lunae, le baz'arts d'Emz0

Le studio du chat vert

Pixelandgame

Tashiroworld

HeyMakeGames

Au hasard

RMXP Forum

Univers RPG Maker XP

Hellsoft

Les deux derniers

Lunae, le baz'arts d'Emz0

Le studio du chat vert

Nos autres partenaires

Devenir
partenaire


Barre de séparation

Un site du réseau
War Paradise

Annuaires référenceurs





Classe CSS
Script pour RPG Maker XP
Ecrit par fenryo

Bonjour alors c'est quoi un CSS ? Pour ceux qui connaissent bien le web design c'est un "style pour fenêtre". Alors j'ai codé une classe CSS pour RPG MAKER XP.
L'intérêt le voici : Imaginez vous en train de coder votre propre menu, vous écrivez vos textes pour les hp d'une certaine façon , vous utilisez la même façon sur 10 fenêtre différentes à plusieurs endroits.
Un jour vous vous rendez compte que la police que vous avez choisi ne va pas (trop grosse, pas lisible, mauvaise couleur...) bref il faut aller corriger sur les 10 fenêtres et se taper des recherches entre 1500 self.contents.drawtext(.......) .
Avec la classe CSS vous aurez créé un style. et chaque fois que vous changerez le style, toutes les fenêtre (ou section de fenêtre) qui utilisent ce style changeront automatiquement. Voici la procédure:

1) Créer un script au dessus de Window_base et collez ce code



Portion de code:






# Imaginé, conçu et codé par Fenryo !! Aurion XP coming soon....


class Css
attr_accessor :nom
attr_accessor :police
attr_accessor :id
attr_accessor :taille
attr_accessor :bold
attr_accessor :italic
attr_accessor :couleur

def initialize

@couleur = [255, 255, 255, 255]
@nom = "css0"
@police = "Verdana"
@id = 0
@taille = 0
@bold = false
@italic = false

end


end# fin de la classe




def css?(nom)

if ($css_database != nil) then
k = $css_database.size - 1
i= 0
trouv = 0

while (i <= k)
if ($css_database.nom == nom) then
return i
end
i +=1
end
return nil
else
return nil
end

end




# ========== ===================================================================>BASE DE DONNEE DES CSS

# ========== Cree un css et l'ajoute à $css_database
def create_css_0 #===< Votre css par défaut

if $css_database == nil then
$css_database= []
end

k = $css_database.size
$css_database[k] = Css.new

$css_database[k].id = k
$css_database[k].nom = "css"+ k.to_s
$css_database[k].police = "Arial" #=========> Mettez votre police pour ce style
$css_database[k].couleur = [0, 0, 153, 255] #=========> Mettez les propriétés de la couleur [Rouge, Vert, Bleu, Alpha]
$css_database[k].taille = 16 #============> Taille de la police
$css_database[k].bold = false #=============> Pour activer le gras ou pas
$css_database[k].italic = false
#===========================>>> FIN INTERFACE DE CREATION D'UN CSS

end #====Fin create_css



def create_css_1


k = $css_database.size
$css_database[k] = Css.new

$css_database[k].id = k
$css_database[k].nom = "css"+ k.to_s
$css_database[k].police = "Verdana" #=========> Mettez votre police pour ce style
$css_database[k].couleur = [25, 90, 153, 255] #=========> Mettez les propriétés de la couleur [Rouge, Vert, Bleu, Alpha]
$css_database[k].taille = 16 #============> Taille de la police
$css_database[k].bold = false #=============> Pour activer le gras ou pas
$css_database[k].italic = false
#===========================>>> FIN INTERFACE DE CREATION D'UN CSS

end #====Fin create_css




def create_css_2


k = $css_database.size
$css_database[k] = Css.new

$css_database[k].id = k
$css_database[k].nom = "css"+ k.to_s
$css_database[k].police = "Impact" #=========> Mettez votre police pour ce style
$css_database[k].couleur = [25, 90, 153, 255] #=========> Mettez les propriétés de la couleur [Rouge, Vert, Bleu, Alpha]
$css_database[k].taille = 16 #============> Taille de la police
$css_database[k].bold = false #=============> Pour activer le gras ou pas
$css_database[k].italic = false
#===========================>>> FIN INTERFACE DE CREATION D'UN CSS

end #====Fin create_css


def create_css_3


k = $css_database.size
$css_database[k] = Css.new

$css_database[k].id = k
$css_database[k].nom = "css"+ k.to_s
$css_database[k].police = "Verdana" #=========> Mettez votre police pour ce style
$css_database[k].couleur = [25, 95, 153, 255] #=========> Mettez les propriétés de la couleur [Rouge, Vert, Bleu, Alpha]
$css_database[k].taille = 25 #============> Taille de la police
$css_database[k].bold = false #=============> Pour activer le gras ou pas
$css_database[k].italic = false
#===========================>>> FIN INTERFACE DE CREATION D'UN CSS

end #====Fin create_css


def create_css_4


k = $css_database.size
$css_database[k] = Css.new

$css_database[k].id = k
$css_database[k].nom = "css"+ k.to_s
$css_database[k].police = "Verdana" #=========> Mettez votre police pour ce style
$css_database[k].couleur = [25, 95, 153, 255] #=========> Mettez les propriétés de la couleur [Rouge, Vert, Bleu, Alpha]
$css_database[k].taille = 6 #============> Taille de la police
$css_database[k].bold = false #=============> Pour activer le gras ou pas
$css_database[k].italic = false
#===========================>>> FIN INTERFACE DE CREATION D'UN CSS

end #====Fin create_css






#=================================================================> Creation de la BD

def creation_bd_css

if ( $css_database != nil) then

for i in (0 .. $css_database.size-1)
$css_database.dispose
end
$css_database= nil

end
create_css_0
create_css_1
create_css_2
create_css_3
create_css_4



end



2) Entrez dans le script Window_base et collez ce code juste après la fonction initialize (à la ligne 25)



Portion de code:







#-----> MA FONCTION DE STYLE TEXTE fenryo!!

def text_style (nom = "css0")

if ($css_database != nil) then
i = css?(nom)

if ( i != nil) then
aux = $css_database
self.contents.font.name = $css_database.police
self.contents.font.size = $css_database.taille
self.contents.font.color = Color.new( aux.couleur[0], aux.couleur[1], aux.couleur[2], aux.couleur[3])
self.contents.font.bold = aux.bold
self.contents.font.italic = aux.italic


else
print "erreur dans la classe Window_base"
print "le nom de css '" + nom + "' n'est pas valide"
end

else
print "erreur dans la classe Window_base"
print "pas de base de donnée pour les css"
end
end



3) Créer un script au dessus de Main et collez ce code






Portion de code:







#FENETRE QUI AFICHE COMPLETEMENT UNE AURIONITE

class Win_css_testing

#========= INITIALISATION
def initialize
super(170, 0, 400, 480)

self.contents= Bitmap.new(width, height)


if ($css_database == nil) then
creation_bd_css
end
refresh($css_database[0])


end
#========== FIN INIT


def refresh (cible)
self.contents.clear

#==========================> Ecriture des champs
self.text_style(cible.nom)
self.contents.draw_text(15, 75, 350, 50, "Désormais, le logiciel")
self.contents.draw_text(15, 125, 350, 50, "Quelles caractéristiques")
self.contents.draw_text(15, 165, 350, 50, "Voici notre test des css")
self.contents.draw_text(15, 190, 350, 50, "0123456789")



end #=========== FIN REFRESH




end




# FENETRE DE SELECTION DES CSS


class Win_choix_bd_css< Window_Command

def initialize

@command=[]
for i in (0.. $css_database.size-1)
@command= "Css " + $css_database.id.to_s
end
super (150, @command)
self.x=20
self.y=20
self.height= 400

refresh
end




end



#=========== SCENE QUI AFFICHE LES CSS


class Scene_bd_css

def main


if ($css_database == nil) then
creation_bd_css
end

@win_cmd= Win_choix_bd_css.new
@win_data= Win_css_testing.new

@index_actu=0
Graphics.transition

loop do

Graphics.update
Input.update
update

if ($scene != self) then
break
end
end
Graphics.freeze
@win_cmd.dispose
@win_data.dispose




end #=============> FIN DU MAIN

def update
@win_cmd.update

if (@index_actu != @win_cmd.index) then
@index_actu=@win_cmd.index
Graphics.transition
@win_data.refresh($css_database[@index_actu])
end


if Input.trigger?(Input::B) then
$scene = Scene_Map.new
end

end #=====> FIN DU UPDATE




end




COMMENT APPLIQUER UN STYLE A UNE FENETRE ?

Bon ce qu'on vient de faire c'est de creer une base de donnée de 5 style nommés css0, css1... css4. Pour les appliquer dans une de vos fenêtres tapez tout simplement l'instruction



Portion de code:






self.text_style ("nom du css")

dans la fenêtre.
Si vous ne mettez aucun paramètre c'est le style css0 qui sera appliqué automatiquement (en faire votre style par défaut donc)


VISUALISER MES STYLES ?
Pour visualiser vos styles, créez un évènement et exécutez le script suivant



Portion de code:






$scene =Scene_bd_css.new

Vous pourrez voir les effets de chacun des styles.

AVOIR PLUS DE STYLE ?
Vous me donnez 500 euros Sonic
Non mais la procédure demande de s'y connaître en Ruby:
1) Ouvrer le premier script de ce tuto.
2) copier la fonction create_css_4
3 ) collez la en dessous d'elle même (pas dans elle !!)
4) renommer là en create_css_5
5) changez les paramètres de create_css_5
6) Allez dans la fonction creation_bd_css et ajouter create_css_5 à la fin
7) créer un événement et exécuter le script



Portion de code:






creation_bd_css
$scene =Scene_bd_css.new

Vous verrez votre nouveau style.
Pour en avoir d'autres c'est pareil mais au lieu de 5 se sera 6 , 7, 8 , ..., jusqu'ààààààààààààààààààààà


skull - posté le 02/09/2008 à 10:56:43. (136 messages postés)

C'est super ce script ! Sinon pour plus de styles je te paye par chèque ou cash? Nan j'dec :p


fenryo - posté le 02/09/2008 à 15:53:10. (153 messages postés)

Mi-Loup, Mi-homme je parcours le monde à la recherche de ma meute: Ceux qui savent...

:joint Merci. Bon il y en a qui peuvent se demander l'intérêt voici une explication:


1) Pour écrire dans une fenêtre avant vous tapiez ça

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
 
 
#==========> PARTIE 1
          self.contents.font.color = normal_color
          self.contents.font.size = 14
          self.contents.font.name = "verdana"
      self.contents.draw_text(50, 10, 212, 32, "un mot de fenryo1")
          
#==========> PARTIE 2      
          self.contents.font.color = normal_color
          self.contents.font.size = 18
          self.contents.font.name = "calibri"
      self.contents.draw_text(50, 30, 212, 32, "un mot de fenryo2")       
 
#==========> PARTIE 3  
          self.contents.font.color = normal_color
          self.contents.font.size = 14
          self.contents.font.name = "Trebuchet MS"
      self.contents.draw_text(50, 50, 212, 32, "un mot de fenryo3")       
 
#==========> PARTIE 4      
          self.contents.font.color = normal_color
          self.contents.font.size = 18
          self.contents.font.name = "calibri"
      self.contents.draw_text(50, 30, 212, 32, "un mot de fenryo4")     
          
 
 



Vous remarquerez que la "partie 2" et la "partie 4" ont les même propriétés (même police, même couleur, même taille du texte).
Si vous devez changer ce code il faudra changer la "partie 1" et la "partie 3"




2) Maintenant avec les CSS voici le même code

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
#==========> PARTIE 1
      self.text_style("css1")
      self.contents.draw_text(50, 10, 212, 32, "un mot de fenryo1")
          
#==========> PARTIE 2      
      self.text_style("css2")
      self.contents.draw_text(50, 30, 212, 32, "un mot de fenryo2")       
 
#==========> PARTIE 3  
      self.text_style("css3")
      self.contents.draw_text(50, 50, 212, 32, "un mot de fenryo3")       
 
#==========> PARTIE 4      
      self.text_style("css2")  
      self.contents.draw_text(50, 30, 212, 32, "un mot de fenryo4")     
 
 



Voilà la "partie 2" et la "partie 4" ont le même style.
L'avantage c'est que si vous voulez changer de polices ou de couleur ou autre pour tout ces éléments "écrits pareils" vous n'avez qu'à changer les propriétés du css !!
C'est un script utile pour les gros codeurs, ceux qui font plusieurs fenêtres.
:joint J'espère vous en poster d'autres d'ici peu !!

-------- Le réalisme c'est trouver un moyen rationnel d'atteindre un but magnifique ----------------- Kiro'o Tale: Aurion, jeu d'un nouveau genre !! ==> Pour faire des formulaire sur RMXP:


Onimanta - posté le 02/09/2008 à 18:24:24. (31 messages postés)

Ness User

Trop bonne Idée!!Super Script, merci:lei

OK!


Madkiller - posté le 03/09/2008 à 19:44:51. (2970 messages postés) - bocauxharam

Il manque une case je crois

super ce script! C'est 'achement pratique ^^ Et vu que je manipule CSS... Ca pourrait faire des trucs sympas quand même :D

Tuto^^//TAUT(trad FR)


Tricky - posté le 04/09/2008 à 03:13:48. (205 messages postés)

Magnifique, très bonne idée! C'est vraiment utile et ça donne des résultats surprenants.


AkikazeTenoko - posté le 17/02/2009 à 14:44:26. (23 messages postés)

Vent d'Automne

Mettre du CSS dans RPG Maker... Je ne dirais pas que c'est du génie, mais c'est très ingénieux ! Bravo ! :D

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe

Plan du site:

Activité: Accueil | News | Forum | Flash-news | Chat | Commentaires | Galerie | Screen de la semaine | Sorties | Articles perso | Livre d'or | Recherche
Jeux: Index jeux séparés | Top Classiques | Top Originaux | Les autres | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Jeux complets | Proposer
Rubriques: Le Wiki | Collection Oniro | Tutoriaux | Scripts | Guides | Gaming-Live | Tests | Making-of | Interviews | Articles perso | OST | L'Annuaire | Divers | Palmarès
Hébergés: Aëdemphia | Fighting Robots Quest | Forstale | Geex | Inexistence | La Légende d'Ibabou | Lije | LoveMaster | Sarcia | Super Mario RPG - Lost Souls
Ressources: Jeux | Programmes | Packs de ressources | Midis | Eléments séparés | Sprites
RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis