|
|
Auteur | Message |
---|
Flibustier Lv.21
Age : 30 Inscrit le : 24/05/2008 Messages : 3234
| Sujet: RGSS2 / Ruby Mar 9 Juin 2009 - 14:20 | |
| RGSS2 / Ruby Après avoir longuement réfléchi je créer ce topic d'aide du le RGSS et le Ruby Vous n'aurez donc plus besoin de créer 3000 topic en section "Question" pour poser une toute petite question Bref, poser là ici et nous tacherons d'y répondre !
PS : Eviter de flooder trop ici =0 |
|
| |
Ex-Admin-Script
Age : 42 Inscrit le : 26/05/2008 Messages : 2360
| Sujet: Re: RGSS2 / Ruby Mar 9 Juin 2009 - 18:00 | |
| Merci LaMeche, Bonne initiative quand même. En effet, nous répondrons de notre mieux à vos question de script et de ruby en général. Tiens, voilà déjà qui devrait en aider quelques-uns sans qu'ils posent trop de question. Documentation Ruby. Attention par contre, il s'agit de la documentation de la distribution Ruby 1.9, et non pas la documentation du RGSS2, il y a des divergences. Cependant, cette documentation est fort utile. Utiliser la recherche pour obtenir de l'aide sur des éléments en particulier... Faites l'effort de chercher avant de demander, c'est toujours aprécié. |
|
| |
Flibustier Lv.21
Age : 30 Inscrit le : 24/05/2008 Messages : 3234
| Sujet: Re: RGSS2 / Ruby Mar 9 Juin 2009 - 18:14 | |
| Oh pas mal ! Mais y'a une question que je me pose et qui ne se trouve pas dans la doc... Dans une classe (Genre Window_Item) Certaine methode s'appele - Code:
-
self.contents.x et d'autre - Code:
-
x Je vois pas pourquoi O.o Surtout que les deux methode "dessine" quelque chose sur la fenêtre... Une petite explication de quand mettre - Code:
-
self.contents Merci d'avance :s |
|
| |
Maire Lv.9
Age : 34 Inscrit le : 15/10/2008 Messages : 351
| Sujet: Re: RGSS2 / Ruby Mar 9 Juin 2009 - 19:30 | |
| - Code:
-
self.contents.x Ne peut pas exister. Tout simplement parce que contents est un attribut de Window qui représente une instance Bitmap. Or, Bitmap n'a pas de méthode X parce qu'on ne peut positionner un Bitmap que par un Sprite. @contents n'est qu'un bitmap qui est rattaché à un sprite Window. Donc sa position est fixée par Window. self.x recherche l'attribut du parent de la Fenetre Window_Item: Window. Donc, pour te répondre Window fonctionne comme un Sprite: self (Window) => positionnement, apparence, skin, taille de la fenetre. contents (Bitmap) => contenu, dessin dans la fenetre (d'ailleurs toutes les barres, textes, ... que l'on affiche dans la fenetre ne sont que des des méthodes de Bitmap). berka |
|
| |
Flibustier Lv.21
Age : 30 Inscrit le : 24/05/2008 Messages : 3234
| Sujet: Re: RGSS2 / Ruby Mar 9 Juin 2009 - 21:36 | |
| Oups... En fait ici x était une inconnue ^^' Pas une méthode (Désolé ^^') Mais regarde ça : - Code:
-
draw_item_name(item, rect.x, rect.y, enabled) Ceci permet d'afficher une image dans la fenêtre - Code:
-
self.contents.draw_text(rect, sprintf("%2d", number), 2) Ceci un texte Alors pourquoi draw_item_name n'a pas de self.contents. alorqs qu'il affiche quelque chose dans la fenêtre(un dessin) ? |
|
| |
Maire Lv.9
Age : 34 Inscrit le : 15/10/2008 Messages : 351
| Sujet: Re: RGSS2 / Ruby Mar 9 Juin 2009 - 21:52 | |
| Tout simplement parce que ta premiere commande est une méthode de Window_Base, classe parente à ta fenetre. Dans cette méthode, tu retrouves le contents.
berka |
|
| |
Flibustier Lv.21
Age : 30 Inscrit le : 24/05/2008 Messages : 3234
| Sujet: Re: RGSS2 / Ruby Lun 22 Juin 2009 - 7:26 | |
| Une petite question :Cela fait plusieur faut que je voit dans des scripts des "tags". Exemple : - Code:
-
/\\V\[([0-9]+)\]/i # Extrait de Window_Message Mais je comprend pas la structure, je vois pas comment en faire O.o Si quelqu'un pourrait m'apprendre à en créer ^^ (de toute forme genre : < I:1 > \D<2>) Voilà ^^ Post d'avant : Ah !!!!! Ok ! Sa y est j'ai compris ! Merci beaucoup ! |
|
| |
Ex-Admin-Script
Age : 42 Inscrit le : 26/05/2008 Messages : 2360
| Sujet: Re: RGSS2 / Ruby Lun 22 Juin 2009 - 13:50 | |
| Voici un tuto pour réaliser ça... J'espère que l'explication est suffisemment claire. N'hésite pas à poser des question sur le tutoriel si jamais ce n'est pas suffisemment clair. Tutoriel des Balises Personalisées |
|
| |
Flibustier Lv.21
Age : 30 Inscrit le : 24/05/2008 Messages : 3234
| Sujet: Re: RGSS2 / Ruby Ven 3 Juil 2009 - 12:15 | |
| Voilà, j'ai réussi à créer une scene pour afficher une animation mais voilà mon problème : - Je n'arrive pas à nettoyer le viewport / sprite Quand il y a un flash, la couleur reste et ne redeviens pas noir... Comment faire ? - Et aussi, dans Sprite_Base ligne 80 81 - Code:
-
@animation_ox = x - ox + width / 2 @animation_oy = y - oy + height / 2 Mais c'est quoi x ox et width O.o Je vois pas où c'est initialisé ! Voici mon code : - Code:
-
# Animation class Scene_Test < Scene_Base # Initialize def initialize $id = 0 @view = Viewport.new(0, 0, 544, 416) @sprite = Sprite_Test.new(@view) @sprite.bitmap = Bitmap.new(544, 416) end # Start def start # Code end # Terminate def terminate # Code end # Update def update @sprite.update @sprite.bitmap.clear $id = rand(40) + 1 if Input.trigger?(Input::C) end end # Classe class Sprite_Test < Sprite_Base # Initialize def initialize(viewport = nil) super(viewport) update end # Update def update super if $id != 0 anim = $data_animations[$id] start_animation(anim) $id = 0 end end end Merci de votre futur aide ! |
|
| |
Maire Lv.9
Age : 34 Inscrit le : 15/10/2008 Messages : 351
| Sujet: Re: RGSS2 / Ruby Ven 3 Juil 2009 - 12:33 | |
| Déjà, intervertis les positions des scripts:
Sprite_Test doit etre placé avant Scene_Test. Question de convention, mais aussi de stabilité: le script appelé doit précéder celui qui l'appelle. Cela évite des erreurs d'initialisation.
Pour ton "nettoyage": quelle méthode de flash tu utilises ? Essaye un update juste apres.
ox/oy: ce sont les coordonnées à l'origine du sprite/viewport. Un centre de gravité. C'est à dire, que les x sont calculés à partir de ox. Généralement, c'est le point (0,0) mais on peut le définir au centre, ce qui est très utile pour les rotations. pour width/height, je ne peux pas te répondre, vu que je n'ai pas RM sous la main. Ce doit etre la dimension de l'animation. Ce sont des attributs, ils sont donc initialisés dans Sprite
berka |
|
| |
Flibustier Lv.21
Age : 30 Inscrit le : 24/05/2008 Messages : 3234
| Sujet: Re: RGSS2 / Ruby Mar 18 Aoû 2009 - 10:24 | |
| Merci beaucoup berka ^^ ________________________ Nouvelle QuestionQuand je test ça dans un event en insertion de script - Code:
-
file = open("script.txt", "w+") file.write($game_map.events[2].list) file.close J'aimerais bien que dans le fichier script il y est TOUTE les commandes (donc aussi les variables) =/ Je me retrouve juste avec des " sans aucune variables @code, @indent etc... Et moi je voudrais qu'elle y soit (sinon sa me sert pas à grand chose >.>") ! Mais là je vois pas comment faire ^^'
Merci d'avance car j'ai vraiment besoin de ceci !
Remerci d'avance !!! |
|
| |
Va-nu-pieds Lv.4
Age : 31 Inscrit le : 03/08/2009 Messages : 61
| Sujet: Re: RGSS2 / Ruby Mar 18 Aoû 2009 - 18:59 | |
| Salut, je voudrais savoir comment faire apparaître un choix en script mais grisé, genre on peut le voir mais on ne peut pas le choisir. Merci d'avance ! |
|
| |
Flibustier Lv.21
Age : 30 Inscrit le : 24/05/2008 Messages : 3234
| Sujet: Re: RGSS2 / Ruby Mar 18 Aoû 2009 - 19:16 | |
| Ouch, c'est compliqué ça ! Va falloir que tu lises les cour de Miraino Il l'explique dans le cour 5 ! |
|
| |
Va-nu-pieds Lv.4
Age : 31 Inscrit le : 03/08/2009 Messages : 61
| Sujet: Re: RGSS2 / Ruby Mar 18 Aoû 2009 - 19:44 | |
| Cool ! Merci, c'est bon ! |
|
| |
Voyageur Lv.10
Age : 36 Inscrit le : 24/04/2009 Messages : 407
| Sujet: Re: RGSS2 / Ruby Mar 18 Aoû 2009 - 19:48 | |
| Euh Raizen... Un truc que j'ai envie de te dire depuis longtemps... Peut-tu réduire ta signature? ^___^ (ou au moins la mettre dans un spoiler...) Car là, à chacun de tes posts...
Et sinon, la meche, qu'est-ce que tu essaye d'enregistrer, au juste? Le fichier doit contenir quoi, au final? |
|
| |
Va-nu-pieds Lv.4
Age : 31 Inscrit le : 03/08/2009 Messages : 61
| Sujet: Re: RGSS2 / Ruby Mar 18 Aoû 2009 - 19:56 | |
| Message adressé à Sihn : lol ok, pas de problème !
Salut, Lorsque je mets ceci en insertion : $var = -5 On me met une erreur : undefined method '-' for nil:NilClass
Quel est le problème ??
Merci d'avance ! |
|
| |
Flibustier Lv.21
Age : 30 Inscrit le : 24/05/2008 Messages : 3234
| Sujet: Re: RGSS2 / Ruby Mar 18 Aoû 2009 - 20:08 | |
| C'est comme si je je te demandais de m'apporter 5 Draguierate Tu me répond quoi ? "C'est quoi ce truc O.O" Bah l'ordi c'est pareil Si tu lui dit pas $var c'est ça, bah il comprend pas ! Donc au début faut mettre un $var = 0 Shin => Des variables ^^ Je voudrais un event, mais en texte... c'est compliqué à comprend essai ça dans un event - Code:
-
p $game_map.events[1].pages.first Et bah moi je voudrais tout ça ! |
|
| |
Voyageur Lv.10
Age : 36 Inscrit le : 24/04/2009 Messages : 407
| Sujet: Re: RGSS2 / Ruby Mar 18 Aoû 2009 - 20:26 | |
| La meche : faux. Pas besoin de $var = 0. On est en ruby, pas en C. Et donc, pas de déclaration de variable. Tu confonds $var -= 5, une opération, qui là nécessite bien que $var contienne déjà un nombre, et $var = -5, une affectation au même titre que $var = 0...
D'où vient le bug, alors? Bah c'est bien là le problème : il n'y en a strictement aucun... du moins, aucun avec juste cette ligne-ci toute seule. Question : quelle ligne as-tu juste au dessus? |
|
| |
Va-nu-pieds Lv.4
Age : 31 Inscrit le : 03/08/2009 Messages : 61
| Sujet: Re: RGSS2 / Ruby Mar 18 Aoû 2009 - 20:37 | |
| Je vais t'expliquer, je suis entrain d'écrire un script qui utilise la variable $points (une var. globale), dans mon script, j'ai mis : - Code:
-
$points = 0 Suivi de quelques conditions, genre : - Code:
-
if $points >= 15 blabla end Alors moi ce dont j'ai besoin, c'est une commande à appeler par insertion qui a pour but d'augmenter la valeur de $points, comme ça une fois cette dernière aura pour valeur 15, la condition se déclenchera, tu comprend ? |
|
| |
Voyageur Lv.10
Age : 36 Inscrit le : 24/04/2009 Messages : 407
| Sujet: Re: RGSS2 / Ruby Mar 18 Aoû 2009 - 20:42 | |
| Mouais, mais je n'ai toujours pas la ligne se situant au dessus de celle montrée plus haut.^^ Car ici, je ne vois aucune erreur de syntaxe... (si tu n'as aucune ligne au dessus, montres-moi la ligne au dessous, on sait jamais.^^) |
|
| |
Flibustier Lv.21
Age : 30 Inscrit le : 24/05/2008 Messages : 3234
| Sujet: Re: RGSS2 / Ruby Mar 18 Aoû 2009 - 20:46 | |
| - Citation :
- La meche : faux.
Avec l'erreur qu'il a si si... si ton script c'est ça - Code:
-
var += 3 p var Y'a un erreur de la classe Nil Donc mon "exemple" fonctionne ! Et puis si, en ruby il faut quand même déclaré ! Mais plus la peine de mettre des long char etc... Juste un = suffit mais c'est quand même une initialisation ! |
|
| |
Voyageur Lv.10
Age : 36 Inscrit le : 24/04/2009 Messages : 407
| Sujet: Re: RGSS2 / Ruby Mar 18 Aoû 2009 - 20:59 | |
| Intialisation, oui, déclaration, non! u_u Et puis... "si ton script c'est ça" ...justement, ce n'est PAS ça! >_< (enfin, c'est pas ça qu'il a mis là, en tout cas) |
|
| |
Va-nu-pieds Lv.4
Age : 31 Inscrit le : 03/08/2009 Messages : 61
| Sujet: Re: RGSS2 / Ruby Mar 18 Aoû 2009 - 21:18 | |
| Bon, j'ai plus le choix, ceci est un aperçu de quoi ressemble mon script (j'ai dis ressemble): - Code:
-
class Scene_Reputatione def main @welcome_window = Window_Base.new(0,0,544,64) @welcome_window.contents.draw_text(0,0,544,32,"blabla",1) $reput_points = 0
reput_message = "Vous avez " + $reput_points.to_s + " point." @up_window = Window_Base.new(0, 64, 544, 64) @up_window.contents.draw_text(0,0,544,32, reput_message,1)
@reput_name = [] @reput_name[0] = "1er choix" @reput_name[1] = "2ème choix" @reput_name[2] = "3ème choix" @reput_name[3] = "4ème choix"
@liste_window = Window_Command.new(180, @reput_name) @liste_window.x = 0 @liste_window.y = @welcome_window.height + @up_window.height
reput_actuelle = @reput_name[0] if $reput_points = 0 reput_actuelle = @reput_name[0] end if $reput_points >= 20 reput_actuelle = @reput_name[1] end if $reput_points >= 50 reput_actuelle = @reput_name[2] end if $reput_points >= 120 reput_actuelle = @reput_name[3] end
reput_message2 = "Vous êtes " + reput_actuelle.to_s + " !" @down_window = Window_Base.new(0, @liste_window.height + 128, 544, 64) @down_window.contents.draw_text(0,0,544,32, reput_message2,1)
Graphics.transition(20) loop do Graphics.update Input.update update if $scene != self break end end Graphics.freeze @welcome_window.dispose @down_window.dispose @down_window.dispose @liste_window.dispose end def update @welcome_window.update @up_window.update @down_window.update @liste_window.update end end
Alors ? |
|
| |
Prêtre Lv13
Age : 30 Inscrit le : 11/10/2008 Messages : 801
| Sujet: Re: RGSS2 / Ruby Mar 18 Aoû 2009 - 21:23 | |
| Salut moi j'ai le même problème pour le cours 1 de Hikari x). Pour un exercice il demande une opération complexe et bah ... j'ai le même problème XD. |
|
| |
Maire Lv.9
Age : 34 Inscrit le : 15/10/2008 Messages : 351
| Sujet: Re: RGSS2 / Ruby Mar 18 Aoû 2009 - 21:24 | |
| A vue de nez tu auras un probleme de rafraichissement sur ta fenetre @welcome_window. Ca risque de fonctionner si tes textes sont statiques et que tu ne modifies pas le contenu de la fenetre. Sinon, tu auras un effet d'aliasing.
berka |
|
| |
| Sujet: Re: RGSS2 / Ruby | |
| |
|
| |
|