Спасибо, так задача понятнее!
[К сожалению, у меня сейчас нет доступа к RM VX Ace: у меня на этом компьютере только Линукс, а RM VX Ace через Wine не запустился. Поэтому то, что я пишу, не проверялось на практике. caveat ēmptor.]
$game_player — это переменная. Узнать, какого она класса, можно, прочитав $game_player.class или же посмотрев в то место, где она объявлена. Конкретно $game_player в Руби класса Game_Player.
Этого класса нет в справке по VX Ace (и в rpg-maker-rgss3-1.02.0.gem), потому что это не встроенный класс: он определён в самой игре. Т.е. его можно вообще убрать из игры и заменить чем-то своим (хотя лучше не надо). Его код надо смотреть в Редакторе скриптов VX Ace.
Соответственно, и доступные функции этого класса нужно смотреть в коде скриптов, которые прилагаются к программе. Их можно посмотреть в самом RPG Maker VX Ace. Так как у меня его под рукой нет, я нагуглил этот скрипт в интернете (правда, с китайскими комментариями, но код тот же).
Соответственно, в коде скрипта мы и видим, какие тут есть фунции. По коду видно, что clear_transfer_info, refresh, actor, stopping? не принимают ни одного аргумента, а вот check_event_trigger_here и check_event_trigger_there принимают один.
Однако функции jump_height тут нет — она определена в другом месте. Класс Game_Player расширяет класс Game_Character (это видно в начале файла: class Game_Player < Game_Character), поэтому у него есть все функции Game_Character. Значит, нужно смотреть в код этого класса: вам, вероятнее, будет удобнее смотреть прямо в интерфейсе VX Ace, а я дальше смотрю на китайском сайте.
jump_height там тоже нету, но зато можно увидеть, что Game_Character расширяет Game_CharacterBase (это видно по строчке «class Game_Character < Game_CharacterBase» в начале). Значит, смотрим на Game_CharacterBase (либо в интерфейсе VX Ace, либо на том же китайском сайте).
Game_CharacterBase не расширяет никаких классов, значит, все нужные нам методы будут внутри этих трёх классов: Game_Player, Game_Character и Game_CharacterBase.
Те методы, о которых вы писали, есть в Game_CharacterBase.
Во-первых, здесь определён balloon_id:
Это значит, что нужно обращаться $game_player.balloon_id = 3Код:attr_accessor :balloon_id
Вроде бы Вы правильно обращаетесь. Проверьте, что не допустили нигде опечатки (типа ballon_id или baloon_id).
Во-вторых, вот определение jump_height:
Собственно, она не принимает никаких аргументов. Она возвращает рассчитанное число. Чтобы начать прыжок, в Game_Character есть метод jump(x_plus, y_plus) — возможно Вам подойдёт он?Код:def jump_height (@jump_peak * @jump_peak - (@jump_count - @jump_peak).abs ** 2) / 2 end
Социальные закладки