Je suis en train de programmer un petit jeu basé sur le Fate RPG. Quand les dés sont lancés, je veux remplacer une chaîne par une autre chaîne en utilisant .replace
. Je peux l'obtenir pour travailler dans un environnement isolé, mais quand j'essaie d'appeler la fonction depuis l'intérieur de mon programme; c'est comme si les chaussures l'ignoraient complètement.Pourquoi ne pas .replace travailler dans Ruby Shoes?
Voici un exemple simple de la façon dont la fonction est utilisée pour exécuter correctement:
Shoes.app {
@push = button "Push me"
@note = para "Nothing pushed so far"
@push.click { @note.replace "Aha! Click!" }
}
Et voici le code correspondant de mon jeu:
$results = para "Roll results go here.", :align => "center",
:margin_bottom => 20, :margin_top => 8
@roll_button.click {
current_roll = Die.new
current_roll.roll
current_roll.display_dice
current_roll.tally
current_roll.calc_total_roll(1) #param = skill level
$shift = current_roll.calc_total_shift(2) #param = opposition
$results.replace "Actual results"
}
Le bloc $results
est dans un autre position dans le code que le bloc @roll_button.click
, mais j'ai essayé de déplacer le bloc de clic à de nombreux endroits différents dans le code, et cela n'a pas fait de différence, donc je ne pense pas que ce soit pertinent. Merci.
* edit: Suppression inutile « = » après $results.replace
Bonjour, bienvenue à SO. Dans l'intérêt de la politesse, je vais voter pour clore la question, car il n'y a pas suffisamment d'information pour que quelqu'un d'autre puisse répondre à cette question. Mais je suis content que vous ayez votre code pour fonctionner - c'est génial! Merci également d'avoir ajouté une réponse. –