查看: 4421|回复: 1

[已经解决] 【附脚本】关于标题画面添加选项并可执行的最简单方法

[复制链接]
梦石
2
星屑
470
在线时间
11 小时
注册时间
2010-8-4
回帖
1
发表于 2013-1-28 03:04:52 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 lisland 于 2013-1-28 17:19 编辑

       刚接触rmva一天,所有基本功能都已经了解,现在在努力解读脚本中(...)。
       现在纠结于在开始菜单中添加新选项问题,已经在Window_TitleCommand添加了add_command("关于",:about),也已经生效,并且在Scene_Title 中添加了@command_window.set_handler(:about, method(:command_about)),现在就差如何执行about了...
       看了好两个小时的脚本,只搞懂了模块、对象和场景的代码分布和定义,剩下的就看不大懂了...
       command_about只要能在标题画面打开文字显示窗口就行!不知道容不容易实现,求好心人解答!
      
      
       首先感谢2楼!刚才参考了2楼的给的链接http://rpg.blue/forum.php?mod=viewthread&tid=217685,已经将这个问题搞懂了,下面附上自认为最简单的添加选项的脚本~


[pre lang="ruby" line="1"]
# 首先新建空白地图,假设地图ID为 x ,在其上添加自动执行事件(显示文字、播放BGM之类),以起到“作品关于”的效果,“帮助”“收藏”等...别忘了返回标题菜单就好~
# 根据帖子 http://rpg.blue/forum.php?mod=viewthread&tid=217685,在module DataManager ,class Window_TitleCommand ,以及class Scene_Title 中添加相应的代码, 实现在标题菜单中添加 “关于”,并且选择后跳转到地图 x 并自动执行事件
# 以下代码直接复制到“插件脚本”下就可以,不需要在原位置添加


# 在 DataManager 模块中添加 "about",原理是将 setup_new_game 改编
# 注意 $game_map.setup(x) 中的 x  

module DataManager
  def self.setup_about
    create_game_objects
    $game_party.setup_starting_members
    $game_map.setup(x)
    $game_player.moveto($data_system.start_x, $data_system.start_y)
    $game_player.refresh
    Graphics.frame_count = 0
  end
end


# 这段代码可以直接在标题画面中显示“关于”,但是如果没有对 about 进行定义的话,“关于”这个选项就只是个摆设~

class Window_TitleCommand < Window_Command
  def make_command_list
    add_command(Vocab::new_game, :new_game)
    add_command(Vocab::continue, :continue, continue_enabled)
    add_command(Vocab::shutdown, :shutdown)   
    add_command("关于",:about)  
  end
end

# 这段代码首先将 about 定义为 动作 command_about, 然后又定义了 command_about 如何动作
# 改编自原脚本中的 def command_new_game

class Scene_Title < Scene_Base  
  def create_command_window
    @command_window = Window_TitleCommand.new
    @command_window.set_handler(:new_game, method(:command_new_game))
    @command_window.set_handler(:continue, method(:command_continue))
    @command_window.set_handler(:shutdown, method(:command_shutdown))   
    @command_window.set_handler(:about, method(:command_about))
  end

  def command_about
    DataManager.setup_about
    close_command_window
    fadeout_all
    $game_map.autoplay
    SceneManager.goto(Scene_Map)
  end
end
[/pre]

       额,就是这样了,希望能对像我这样刚接触RMVA就较真得想自己改代码修改标题菜单的新手有用,大神们就当路过了~

死亡颂唱者

梦石
0
星屑
1159
在线时间
1795 小时
注册时间
2011-10-21
回帖
2205

开拓者

发表于 2013-1-28 10:23:20 | 显示全部楼层

点评

www.91mh.cc/comic/12835/ 斗罗大陆漫画  发表于 2014-2-25 23:40
哈哈,问题搞明白了,谢谢~  发表于 2013-1-28 17:08
这家伙很懒,什么也没有留下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部