查看: 60|回复: 0

[转载发布] 赠予新手简单自制标题菜单教程(高手请无视)

[复制链接]
  • TA的每日心情
    开心
    5 小时前
  • 签到天数: 37 天

    连续签到: 3 天

    [LV.5]常住居民I

    2028

    主题

    32

    回帖

    7260

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    VIP
    0
    卡币
    5184
    OK点
    16
    积分
    7260
    发表于 同元一千年八月五日(秋) | 显示全部楼层 |阅读模式
    一.标题
    1.效果截图

    很简单,这个是最简单的仅仅只是修改了选择窗口的坐标
    1.     @command_window.x = 300 - @command_window.width / 2    @command_window.y = 200复制代码
    复制代码
    1. #X,300  Y200  就是窗口坐标复制代码
    复制代码
    2.效果截图

    很简单,只是多了“制作”选项,这个在本站已经有了,我只不过再简单说明一下
    1. #将脚本37行至41行替换为一下内容复制代码
    复制代码
    1.     s1 = "新游戏"    s2 = "继续"    s3 = "制作"    s4 = "退出"    @command_window = Window_Command.new(192, [s1, s2, s3, s4])复制代码
    复制代码
    测试时,已经有了制作选项,接着说,下面有两种方法:
    第一种:不执行场所移动直接在标题场景中显示制作者或制作群
    效果截图:
    1. #将脚本99行极其以下替换为一下内容复制代码
    复制代码
    1.       when 0  # 新游戏        command_new_game      when 1  # 继续        command_continue      when 2  # 制作        command_maker      when 3  # 退出        command_shutdown      end    end  end  #----复制代码
    复制代码
    1. #再在脚本161行继续与退出之间加入一下脚本复制代码
    复制代码
    1.   #--------------------------------------------------------------------------  # ● 命令 : 制作  #--------------------------------------------------------------------------  def command_maker    p"游戏制作:————"  end复制代码
    复制代码
    这是第一种方法
    第二种方法:场所移动通过事件说明
    效果截图
    1. #再在脚本161行继续与退出之间加入一下脚本复制代码
    复制代码
    1.   #--------------------------------------------------------------------------  # ● 命令 : 制作  #--------------------------------------------------------------------------  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行下加入
    1. @command_window.opacity = 0复制代码
    复制代码
    使其框透明
    把脚本40行改为
    1. @command_window = Window_Command.new(720, [s1, s2, s3])复制代码
    复制代码
    把选择条拉长
    4.纯事件标题
    这个本站上已经很多了,不再说明。我再补充一点想法。
    想法1.将标题图制成图块优先级设为5,选择一张雾图形,在数据库中设置移动,这就是一个很简单的动态标题
    想法2.巧用自动原件
    在本站我下的某自动原件就是这个

    用它在工程里画图:

    再利用PS或其他软件,在下边四个矩形中加入"开始游戏"等等
    在此之前还可以利用远景或雾图形,使其更加美观

    二.菜单
    菜单主要是发挥自己的想象力
    下面我主要介绍一些简单的脚本:
    在所有窗口下都可以加入:
    1.     @command_window.x = 0    @command_window.y = 0    @command_window.opacity = 0复制代码
    复制代码
    分别是X,Y坐标以及窗口透明度,这里以Scene_Menu中的窗口为例
    1. super(0, 0, 640, 480)复制代码
    复制代码
    这个是窗口的X,Y坐标和窗口大小可以任意来调
    在Scene_Menu44行左右
    下边分别有每个窗口的坐标:
    例如
    1. @playtime_window.x = 0    @playtime_window.y = 0复制代码
    复制代码
    这个就是时间窗口的XY坐标,同样也可以在他下面加入
    1. @playtime_window.opacity = 150复制代码
    复制代码
    使其窗口半透明
    调了之后可能会发现菜单中有黑色区域以时间窗口为例在
    1. @playtime_window.opacity = 150复制代码
    复制代码
    其之下可以加入
    1. @playtime = Spriteset_Map.new复制代码
    复制代码
    这样便可以显示地图

    最后就是公共事件自制菜单了,这个柳柳有视频我也不多说了




    ==========补充==========
    跳过标题画面:
    主站上是有这个脚本的在http://rpg.blue/article-40257.html但是我试用了一下,发现了一个问题 就是当你执行战斗测试时,就会进入地图,就是不会执行战斗测试 所以……………………………………
    1.     #[url=home.php?mod=space&uid=114926]@sprite[/url] = Sprite.new    #@sprite.bitmap = RPG::Cache.title($data_system.title_name)复制代码
    复制代码
    将原脚本中这两行#掉
    1. $game_system.bgm_play($data_system.title_bgm)复制代码
    复制代码
    同样把上面的脚本#掉
    1.     #@sprite.bitmap.dispose    #@sprite.dispose复制代码
    复制代码
    同样把上面的脚本#掉
    1. $game_system.se_play($data_system.decision_se)复制代码
    复制代码
    同样把上面的脚本#掉
    在脚本32行下加上
    1. command_new_game复制代码
    复制代码
    这时候测试时就已经有效果了
    接着改!
    把原窗口XY坐标调整一下
    1.     @command_window.x = 500 - @command_window.width / 2    @command_window.y = 500复制代码
    复制代码
    其实很简单,在生成生成系统对像之后调用新游戏的内容(就是command_new_game)
    再把相关生成标题图形、释放标题图形、演奏标题 BGM全部#掉,其实
    1. $game_system.se_play($data_system.decision_se)复制代码
    复制代码
    可以不#掉。很简单吧!
    你也许会问
    1.     # 生成命令窗口    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行左右的
    1.       # 如果画面被切换就中断循环      if $scene != self        break      end    end复制代码
    复制代码
    就已经告诉你答案了,在生成系统对象等等之后场所移动
    因为画面被切换所以中断循环,之前改了窗口的XY坐标(调出屏幕)
    这次补充就到这里吧!


                 本帖来自P1论坛作者恐惧剑刃,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=180353  若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。

    本帖子中包含更多资源

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

    x
    天天去同能,天天有童年!
    回复 论坛版权

    使用道具 举报

    ahome_bigavatar:guest
    ahome_bigavatar:welcomelogin
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

    GMT+8, 2024-5-10 15:33 , Processed in 0.068660 second(s), 44 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表