| Cours #5 : Premiere approche du RGSS2. | |
|
|
Auteur | Message |
---|
Voyageur Lv.10
Age : 42 Inscrit le : 04/12/2008 Messages : 383
| Sujet: Re: Cours #5 : Premiere approche du RGSS2. Dim 8 Fév 2009 - 13:25 | |
| Il y a peut-etre eu un quiproquo : - La Meche a écrit:
- Quel est la commande qui permet de définir la face d'un hero ?
Je lui ai donné de quoi definir une nouvelle face. Mais s'il veut afficher une face, oui, c'est ce que donne Yamazaki qu'il faut utiliser. Sinon, pour mettre des images au lieu de texte, mieux vaut créer sa propre Window héritant de Window_Selectable. Le cours 6 expliquera comment faire ça. Il est entre les mains d'Hikari en attente de validation. De mon point de vue, l'exo 4 ne demande pas une fenetre de selection mais plutôt un simple affichage. ASHKA |
|
| |
Illusionniste Lv.12
Age : 34 Inscrit le : 27/12/2008 Messages : 757
| Sujet: Re: Cours #5 : Premiere approche du RGSS2. Dim 8 Fév 2009 - 13:30 | |
| je demandais cela pour un script que j'essaye de faire et je voudrais essayer de choisir des images au lieu du texte |
|
| |
Flibustier Lv.21
Age : 30 Inscrit le : 24/05/2008 Messages : 3234
| Sujet: Re: Cours #5 : Premiere approche du RGSS2. Dim 8 Fév 2009 - 13:32 | |
| Eh petit souci ^^' Avec ce code : - Code:
-
class Window_Face < Window_Base def initialize super(0, 0, 128, 416) draw_actor_face($game_party.members[0],0,0) draw_actor_face($game_party.members[1],90,96) draw_actor_face($game_party.members[2],0,192) draw_actor_face($game_party.members[3],0,288) end end Des que je le test il me dit que "face_name" n'est pas je ne sais quoi... Aurais-je encore fait une bêtise ? |
|
| |
Illusionniste Lv.12
Age : 34 Inscrit le : 27/12/2008 Messages : 757
| Sujet: Re: Cours #5 : Premiere approche du RGSS2. Dim 8 Fév 2009 - 13:49 | |
| ça dépend soit tu n'as pas 4 personnes dans ton équipe , soit le problème vient de ce qui est au dessus de ce code je l'ai copié chez moi et il marche parfaitement
Edit: si le problème c'est undefined method face_name for nil:NilClass c'est que c'est parce que tu affiche 4 personnes et tu en a moins dans ton équipe |
|
| |
Flibustier Lv.21
Age : 30 Inscrit le : 24/05/2008 Messages : 3234
| Sujet: Re: Cours #5 : Premiere approche du RGSS2. Dim 8 Fév 2009 - 14:00 | |
| Ok Merci sa marche ! Maintenant petite question général..; Comment rendre une variable X = Au nombre de personnage dans l'équipe ? j'ai mit - Code:
-
$game_party.members mais il n'aime pas trop ça on dirait... |
|
| |
Illusionniste Lv.12
Age : 34 Inscrit le : 27/12/2008 Messages : 757
| Sujet: Re: Cours #5 : Premiere approche du RGSS2. Dim 8 Fév 2009 - 14:09 | |
| soit tu utilises - Code:
-
for members in $game_party.members soit - Code:
-
for i in 0..($game_party.members.size-1) ou encore - Code:
-
for i in 0...($game_party.members.size) $game_party.members est un tableau qui contient les joueurs présent dans le jeu (Réédité par Hikari pour retirer la réponse tout en laissant l'aide) |
|
| |
Flibustier Lv.21
Age : 30 Inscrit le : 24/05/2008 Messages : 3234
| Sujet: Re: Cours #5 : Premiere approche du RGSS2. Dim 8 Fév 2009 - 14:20 | |
| Merci sa marche !!! Merci beaucoup ! Vous m'avez beaucoup aidez et aussi beaucoup apris !
A plus ! |
|
| |
Ex-Admin-Script
Age : 42 Inscrit le : 26/05/2008 Messages : 2360
| Sujet: Re: Cours #5 : Premiere approche du RGSS2. Mar 10 Fév 2009 - 17:25 | |
| Merci de ton aide yamazaki, mais j'aurais préféré que tu lui donne de l'aide sans lui donner la réponse pour qu'il cherche un peu. |
|
| |
Flibustier Lv.21
Age : 30 Inscrit le : 24/05/2008 Messages : 3234
| Sujet: Re: Cours #5 : Premiere approche du RGSS2. Mer 11 Fév 2009 - 14:52 | |
| ASHKA Il y a dans ton script final quelque chose qui me perturbe... comment tu as fait pour effacer 80 frames la fenêtre puis la faire réapparaître O.o Je ne vois pas de fonction "Attendre 80 frames" ! |
|
| |
Voyageur Lv.10
Age : 42 Inscrit le : 04/12/2008 Messages : 383
| Sujet: Re: Cours #5 : Premiere approche du RGSS2. Mer 11 Fév 2009 - 15:08 | |
| Bah, tu sais, je suis une sorte de magicien !! En fait, si, il y a une fonction "Attendre 80 frames". Quant on fait un choix, une variable est fixé à 80 et la fenetre de choix est masqué. - Code:
-
@compteur = 80 Ensuite, la methode "update" fait office de decompte. - Code:
-
if @compteur > 0 @compteur -= 1 return elsif @compteur == 0 @choix.active = true @choix.visible = true @compteur = -1 return end Si la variable est superieur à 0, on lui retire 1 et le "return" mets fin à la lecture de la methode. Une fois arrivé à 0, la fenetre revient visible et active. ASHKA |
|
| |
Flibustier Lv.21
Age : 30 Inscrit le : 24/05/2008 Messages : 3234
| Sujet: Re: Cours #5 : Premiere approche du RGSS2. Dim 22 Fév 2009 - 17:52 | |
| Nouveau bug :depression: J'ai essayé par tout les moyens, impossible d'afficher une icone... J'ai absolument tou essayé, modifier les scripts etc... Impossible... Est ce quelqu'un auais la gentillesse de me faire une scene toute conne ou il y a une icone qui s'affiche ! Je la modifirais après... Merci |
|
| |
Illusionniste Lv.12
Age : 34 Inscrit le : 27/12/2008 Messages : 757
| Sujet: Re: Cours #5 : Premiere approche du RGSS2. Dim 22 Fév 2009 - 18:03 | |
| tu peux utiliser self.draw_icon($data_items[num].icon_index,x,y,true) où num est le numéro de l'item dans ton dessin data_item=objet data_weapon=arme data_armors=armure data_skill=competence |
|
| |
Voyageur Lv.10
Age : 42 Inscrit le : 04/12/2008 Messages : 383
| Sujet: Re: Cours #5 : Premiere approche du RGSS2. Lun 23 Fév 2009 - 10:29 | |
| Oui, il y a la methode "draw_icon", c'est celle qui est utilisé dans la methode "draw_item_name", comme dans le menu "Inventaire" ou " Competences", pour afficher l'icone à coté du nom. Petite correction : - Code:
-
#-------------------------------------------------------------------------- # * Load Database #-------------------------------------------------------------------------- def load_database $data_actors = load_data("Data/Actors.rvdata") $data_classes = load_data("Data/Classes.rvdata") $data_skills = load_data("Data/Skills.rvdata") $data_items = load_data("Data/Items.rvdata") $data_weapons = load_data("Data/Weapons.rvdata") $data_armors = load_data("Data/Armors.rvdata") $data_enemies = load_data("Data/Enemies.rvdata") $data_troops = load_data("Data/Troops.rvdata") $data_states = load_data("Data/States.rvdata") $data_animations = load_data("Data/Animations.rvdata") $data_common_events = load_data("Data/CommonEvents.rvdata") $data_system = load_data("Data/System.rvdata") $data_areas = load_data("Data/Areas.rvdata") end
C'est $data_items, $data_weapons, $data_skills, avec des "s" à la fin !! La Meche : La scene ne sert qu'a afficher la fenetre qui affiche l'icone, pas à afficher directement l'icone. ( Enfin, pas dans 99.999 % des cas ... ) ASHKA |
|
| |
Flibustier Lv.21
Age : 30 Inscrit le : 24/05/2008 Messages : 3234
| Sujet: Re: Cours #5 : Premiere approche du RGSS2. Lun 23 Fév 2009 - 10:39 | |
| Hum... Quelque petit soucie Comment je fais pour le log reconnaisse quel index mettre au commande Bon - Code:
-
draw_item_name("weapon" , 0, 0, enabled = true) Comment je fais pour afficher le nom de l'arme 3 par exemple ? |
|
| |
Invité
| Sujet: Re: Cours #5 : Premiere approche du RGSS2. Lun 23 Fév 2009 - 10:43 | |
| Je dirai - Code:
-
$data_weapons[3].name mais pas sûr du tout |
|
| |
Flibustier Lv.21
Age : 30 Inscrit le : 24/05/2008 Messages : 3234
| Sujet: Re: Cours #5 : Premiere approche du RGSS2. Lun 23 Fév 2009 - 10:45 | |
| Nan... Affiche une erreur... |
|
| |
Invité
| Sujet: Re: Cours #5 : Premiere approche du RGSS2. Lun 23 Fév 2009 - 10:46 | |
| Ah désolé, regarde dans la doc, tu devrai trouver. |
|
| |
Voyageur Lv.10
Age : 42 Inscrit le : 04/12/2008 Messages : 383
| Sujet: Re: Cours #5 : Premiere approche du RGSS2. Lun 23 Fév 2009 - 10:49 | |
| Il me semble t'avoir expliqué sur MSN que pour connaitre les parametres à utiliser, il faut aller voir la methode ... - Code:
-
#-------------------------------------------------------------------------- # * Draw Item Name # item : Item (skill, weapon, armor are also possible) # x : draw spot x-coordinate # y : draw spot y-coordinate # enabled : Enabled flag. When false, draw semi-transparently. #-------------------------------------------------------------------------- def draw_item_name(item, x, y, enabled = true) if item != nil draw_icon(item.icon_index, x, y, enabled) self.contents.font.color = normal_color self.contents.font.color.alpha = enabled ? 255 : 128 self.contents.draw_text(x + 24, y, 172, WLH, item.name) end end
Bon, c'est de l'Anglais, mais quand même ... Item designe un objet RPG::Item ( comme indiqué : armes, equipements et competences sont également possible ). Donc : - Code:
-
draw_item_name($data_weapons[3], 0, 0, true) S'il y a autant de commentaire dans les scripts de base, ça n'est pas pour faire joli, c'est pour aider. ASHKA |
|
| |
Flibustier Lv.21
Age : 30 Inscrit le : 24/05/2008 Messages : 3234
| Sujet: Re: Cours #5 : Premiere approche du RGSS2. Lun 23 Fév 2009 - 10:55 | |
| - Citation :
- draw_item_name($data_weapons[3], 0, 0, true)
C'est zarb car quand j'avais fais ça cela avait buggé O.o Bon en tout cas maintenant sa marche mais aucune icon s'affiche Ni même un nom... |
|
| |
Invité
| Sujet: Re: Cours #5 : Premiere approche du RGSS2. Lun 23 Fév 2009 - 11:01 | |
| Fais voir ton code car sans on pourra pas te dire ce qui cloche |
|
| |
Flibustier Lv.21
Age : 30 Inscrit le : 24/05/2008 Messages : 3234
| Sujet: Re: Cours #5 : Premiere approche du RGSS2. Lun 23 Fév 2009 - 11:03 | |
| - Code:
-
module Peche PECHE = 11 end ######################################## class Scene_Map < Scene_Base alias starts start alias terminates terminate alias updates update def start @peche = Window_Peche.new @peche.visible = false @peche.active = false starts end def terminate @peche.dispose terminates end def update if $game_switches[Peche::PECHE] == true @peche.visible = true @peche.active = true @peche.refresh else @peche.visible = false @peche.active = false @peche.refresh end updates end end ######################################## class Window_Peche < Window_Base def initialize super(0, 0, 256, 128) end def refresh draw_item_name($data_weapons[1] , 0, 0, enabled = true) end end |
|
| |
Voyageur Lv.10
Age : 42 Inscrit le : 04/12/2008 Messages : 383
| Sujet: Re: Cours #5 : Premiere approche du RGSS2. Lun 23 Fév 2009 - 11:07 | |
| bah, que veux-tu que je reponde avec si peu de details ... En plus de la ligne sus-mentionné, il faut qu'elle soit placée dans une Window heritant de Window_Base ou d'une de ces "filles". Il faut que l'affichage soit possible ( emplacement "libre", coordonnée valide, ... ). Et il faut afficher cette fenetre. Autant de source de probleme possible ... Edit apres reponse : - Code:
-
def initialize super(0, 0, 256, 128) end
Il manque le mot magique qui declenche l'affichage !! ( Regarde une Window au hasard, tu comprendra ) Re-edit : Et il manque aussi le "self.contents.clear" dans la methode "refresh". ASHKA |
|
| |
Flibustier Lv.21
Age : 30 Inscrit le : 24/05/2008 Messages : 3234
| Sujet: Re: Cours #5 : Premiere approche du RGSS2. Lun 23 Fév 2009 - 11:13 | |
| Si tu parle de refresh c'est raté... - Code:
-
def initialize super(0, 0, 256, 128) refresh end
Cela ne donne rien du tout... |
|
| |
Illusionniste Lv.12
Age : 34 Inscrit le : 27/12/2008 Messages : 757
| Sujet: Re: Cours #5 : Premiere approche du RGSS2. Lun 23 Fév 2009 - 13:15 | |
| le problème vient de là - Code:
-
def start @peche = Window_Peche.new @peche.visible = false @peche.active = false starts end
il faut enlever @peche.active=false et de là - Code:
-
def update if $game_switches[Peche::PECHE] == true @peche.visible = true @peche.active = true @peche.refresh else @peche.visible = false @peche.active = false @peche.refresh end updates end il faut faire la même chose le.active est plus utilisé pour les scènes et non les fenêtres |
|
| |
Flibustier Lv.21
Age : 30 Inscrit le : 24/05/2008 Messages : 3234
| Sujet: Re: Cours #5 : Premiere approche du RGSS2. Lun 23 Fév 2009 - 13:24 | |
| Ok Merci sa marche enfin mais fallait aussi mettre l'updates au debut et non à la fin |
|
| |
| Sujet: Re: Cours #5 : Premiere approche du RGSS2. | |
| |
|
| |
| Cours #5 : Premiere approche du RGSS2. | |
|