一.标题 
1.效果截图
 
很简单,这个是最简单的仅仅只是修改了选择窗口的坐标 -     @command_window.x = 300 - @command_window.width / 2    @command_window.y = 200复制代码
 
  复制代码2.效果截图
 
很简单,只是多了“制作”选项,这个在本站已经有了,我只不过再简单说明一下 -     s1 = "新游戏"    s2 = "继续"    s3 = "制作"    s4 = "退出"    @command_window = Window_Command.new(192, [s1, s2, s3, s4])复制代码
 
  复制代码测试时,已经有了制作选项,接着说,下面有两种方法: 
第一种:不执行场所移动直接在标题场景中显示制作者或制作群 
效果截图: -       when 0  # 新游戏        command_new_game      when 1  # 继续        command_continue      when 2  # 制作        command_maker      when 3  # 退出        command_shutdown      end    end  end  #----复制代码
 
  复制代码- #再在脚本161行继续与退出之间加入一下脚本复制代码
 
  复制代码-   #--------------------------------------------------------------------------  # ● 命令 : 制作  #--------------------------------------------------------------------------  def command_maker    p"游戏制作:————"  end复制代码
 
  复制代码这是第一种方法 
第二种方法:场所移动通过事件说明 
效果截图 - #再在脚本161行继续与退出之间加入一下脚本复制代码
 
  复制代码-   #--------------------------------------------------------------------------  # ● 命令 : 制作  #--------------------------------------------------------------------------  def command_maker    # 演奏确定 SE    $game_system.se_play($data_system.decision_se)    # 停止 BGM    Audio.bgm_stop    # 重置测量游戏时间用的画面计数器    Graphics.frame_count = 0    # 生成各种游戏对像    $game_temp          = Game_Temp.new    $game_system        = Game_System.new    $game_switches      = Game_Switches.new    $game_variables     = Game_Variables.new    $game_self_switches = Game_SelfSwitches.new    $game_screen        = Game_Screen.new    $game_actors        = Game_Actors.new    $game_party         = Game_Party.new    $game_troop         = Game_Troop.new    $game_map           = Game_Map.new    $game_player        = Game_Player.new    # 设置初期同伴位置    $game_party.setup_starting_members    # 设置初期位置的地图    $game_map.setup(2)    # 主角向初期位置移动    $game_player.moveto(10, 10)    # 刷新主角    $game_player.refresh    # 执行地图设置的 BGM 与 BGS 的自动切换    $game_map.autoplay    # 刷新地图 (执行并行事件)    $game_map.update    # 切换地图画面    $scene = Scene_Map.new  end复制代码
 
  复制代码场所移动到地图2,坐标无所谓,然后在地图2上编辑事件即可
 
3.效果截图
 
很简单,在Scene_Title43行下加入 - @command_window.opacity = 0复制代码
 
  复制代码使其框透明 
把脚本40行改为 - @command_window = Window_Command.new(720, [s1, s2, s3])复制代码
 
  复制代码把选择条拉长 
4.纯事件标题 
这个本站上已经很多了,不再说明。我再补充一点想法。 
想法1.将标题图制成图块优先级设为5,选择一张雾图形,在数据库中设置移动,这就是一个很简单的动态标题 
想法2.巧用自动原件 
在本站我下的某自动原件就是这个
 
用它在工程里画图:
 
再利用PS或其他软件,在下边四个矩形中加入"开始游戏"等等 
在此之前还可以利用远景或雾图形,使其更加美观
 
二.菜单 
菜单主要是发挥自己的想象力 
下面我主要介绍一些简单的脚本: 
在所有窗口下都可以加入: -     @command_window.x = 0    @command_window.y = 0    @command_window.opacity = 0复制代码
 
  复制代码分别是X,Y坐标以及窗口透明度,这里以Scene_Menu中的窗口为例 - super(0, 0, 640, 480)复制代码
 
  复制代码这个是窗口的X,Y坐标和窗口大小可以任意来调 
在Scene_Menu44行左右 
下边分别有每个窗口的坐标: 
例如 - @playtime_window.x = 0    @playtime_window.y = 0复制代码
 
  复制代码这个就是时间窗口的XY坐标,同样也可以在他下面加入 - @playtime_window.opacity = 150复制代码
 
  复制代码使其窗口半透明 
调了之后可能会发现菜单中有黑色区域以时间窗口为例在 - @playtime_window.opacity = 150复制代码
 
  复制代码其之下可以加入 - @playtime = Spriteset_Map.new复制代码
 
  复制代码这样便可以显示地图
 
最后就是公共事件自制菜单了,这个柳柳有视频我也不多说了
 
==========补充========== 
跳过标题画面: 
主站上是有这个脚本的在 http://rpg.blue/article-40257.html但是我试用了一下,发现了一个问题 就是当你执行战斗测试时,就会进入地图,就是不会执行战斗测试 所以…………………………………… -     #[url=home.php?mod=space&uid=114926]@sprite[/url] = Sprite.new    #@sprite.bitmap = RPG::Cache.title($data_system.title_name)复制代码
 
  复制代码将原脚本中这两行#掉 - $game_system.bgm_play($data_system.title_bgm)复制代码
 
  复制代码同样把上面的脚本#掉 -     #@sprite.bitmap.dispose    #@sprite.dispose复制代码
 
  复制代码同样把上面的脚本#掉 - $game_system.se_play($data_system.decision_se)复制代码
 
  复制代码同样把上面的脚本#掉 
在脚本32行下加上 这时候测试时就已经有效果了 
接着改! 
把原窗口XY坐标调整一下 -     @command_window.x = 500 - @command_window.width / 2    @command_window.y = 500复制代码
 
  复制代码其实很简单,在生成生成系统对像之后调用新游戏的内容(就是command_new_game) 
再把相关生成标题图形、释放标题图形、演奏标题 BGM全部#掉,其实 - $game_system.se_play($data_system.decision_se)复制代码
 
  复制代码可以不#掉。很简单吧! 
你也许会问 -     # 生成命令窗口    s1 = "新游戏"    s2 = "继续"    s3 = "退出"    @command_window = Window_Command.new(192, [s1, s2, s3])    @command_window.back_opacity = 160    @command_window.x = 500 - @command_window.width / 2    @command_window.y = 500复制代码
 
  复制代码等此类脚本都在怎么还会跳过标题画面呢? 
其实在脚本76行左右的 -       # 如果画面被切换就中断循环      if $scene != self        break      end    end复制代码
 
  复制代码就已经告诉你答案了,在生成系统对象等等之后场所移动 
因为画面被切换所以中断循环,之前改了窗口的XY坐标(调出屏幕) 
这次补充就到这里吧!
 
             本帖来自P1论坛作者恐惧剑刃,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址: https://rpg.blue/forum.php?mod=viewthread&tid=180353  若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。  |