Исправить недочеты в коде меню (RPG Maker XP)

Больше
11 года 11 мес. назад - 11 года 11 мес. назад #69053 от loveseac
Нужно было убрать из меню лишние окошки (счетчик шагов, скилы, статус). По-сырому вроде вышло, но есть несколько важных недочетов:
1. Весьма неряшливый внешний вид.
ВНИМАНИЕ: Спойлер!

Хотелось бы, чтобы окошки выглядели совсем иначе, примерно так:
ВНИМАНИЕ: Спойлер!

Или окошко меню по центру, но тоже на фоне происходящего. Или даже все тоже самое, но на прозрачном фоне. Потому что на черном как-то не смотрится. Но здесь вопрос скорее эстетический, не столько важный.
2. При нажимании на Save и End Game игра внезапно показывает нам такое вот уродство:
ВНИМАНИЕ: Спойлер!

При нажатии кнопки вверх меню снова становится в прежний вид. Но все же такое вот несколько мешает при игри и выглядит не слишком привлекательно для игроков.
Код окошка Scene_menu:
Code:
when 0 # item # Play decision SE $game_system.se_play($data_system.decision_se) # Switch to item screen $scene = Scene_Item.new when 1 # # save # If saving is forbidden if $game_system.save_disabled # Play buzzer SE $game_system.se_play($data_system.buzzer_se) return end # Play decision SE $game_system.se_play($data_system.decision_se) # Switch to save screen $scene = Scene_Save.new when 2 # end game # Play decision SE $game_system.se_play($data_system.decision_se) # Switch to end game screen $scene = Scene_End.new
Надеюсь, мне помогут найти те места в коде, которые надо поменять для дальнейшего улучшения.
Последнее редактирование: 11 года 11 мес. назад пользователем loveseac.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby Организатор конкурсов 2 место
Больше
11 года 11 мес. назад #69060 от Lipton
Вполне вероятно в функции update стоят старые значения нахождения окон. И при ее срабатывании (когда нажимается кнопка) окна ставятся по старому.
PS. Это вообще какой мейкер?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
11 года 11 мес. назад #69061 от loveseac
Исправила, извините. XP, конечно же. А как убрать в этиз самых функциях значения?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby Организатор конкурсов 2 место
Больше
11 года 11 мес. назад #69066 от Lipton
С ХР не помогу. Нет его у меня. =(

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Проект месяца 1 место Программист Ruby Писатель 3 место 3 место Учитель Организатор конкурсов 1 место в Готв Ветеран Проект месяца 2 место
Больше
11 года 11 мес. назад #69080 от DeadElf79
Got ya!
Code:
#============================================================================== # ** Scene_Menu #------------------------------------------------------------------------------ # This class performs menu screen processing. #============================================================================== class Scene_Menu #-------------------------------------------------------------------------- # * Object Initialization # menu_index : command cursor's initial position #-------------------------------------------------------------------------- def initialize(menu_index = 0) @menu_index = menu_index end #-------------------------------------------------------------------------- # * Main Processing #-------------------------------------------------------------------------- def main # Make command window s1 = $data_system.words.item s2 = "Save" s3 = "End Game" @command_window = Window_Command.new(160, [s1, s2, s3]) @command_window.x = 0 @command_window.y = 192 # If save is forbidden if $game_system.save_disabled # Disable save @command_window.disable_item(1) end # Make play time window @playtime_window = Window_PlayTime.new @playtime_window.x = 0 @playtime_window.y = 320 # Make gold window @gold_window = Window_Gold.new @gold_window.x = 0 @gold_window.y = 416 #Add map viewport @map=Spriteset_Map.new # Execute transition Graphics.transition # Main loop loop do # Update game screen Graphics.update # Update input information Input.update # Frame update update # Abort loop if screen is changed if $scene != self break end end # Prepare for transition Graphics.freeze # Dispose of windows @command_window.dispose @playtime_window.dispose @gold_window.dispose @map.dispose end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update # Update windows @command_window.update @playtime_window.update @gold_window.update # If command window is active: call update_command if @command_window.active update_command return end end #-------------------------------------------------------------------------- # * Frame Update (when command window is active) #-------------------------------------------------------------------------- def update_command # If B button was pressed if Input.trigger?(Input::B) # Play cancel SE $game_system.se_play($data_system.cancel_se) # Switch to map screen $scene = Scene_Map.new return end # If C button was pressed if Input.trigger?(Input::C) # If command other than save or end game, and party members = 0 if $game_party.actors.size == 0 and @command_window.index < 4 # Play buzzer SE $game_system.se_play($data_system.buzzer_se) return end # Branch by command window cursor position case @command_window.index when 0 # item # Play decision SE $game_system.se_play($data_system.decision_se) # Switch to item screen $scene = Scene_Item.new when 1 # save # If saving is forbidden if $game_system.save_disabled # Play buzzer SE $game_system.se_play($data_system.buzzer_se) return end # Play decision SE $game_system.se_play($data_system.decision_se) # Switch to save screen $scene = Scene_Save.new when 2 # end game # Play decision SE $game_system.se_play($data_system.decision_se) # Switch to end game screen $scene = Scene_End.new end return end end end

[IMG
Спасибо сказали: Cerberus, Lekste, loveseac

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.098 секунд
Работает на Kunena форум