设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 8509|回复: 7
打印 上一主题 下一主题

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

[复制链接]

Lv1.梦旅人

薄凉看客

梦石
0
星屑
50
在线时间
1269 小时
注册时间
2010-6-20
帖子
1316
跳转到指定楼层
1
发表于 2011-5-8 11:55:09 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 恋′挂机 于 2013-7-12 12:30 编辑

一.标题
1.效果截图

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

很简单,只是多了“制作”选项,这个在本站已经有了,我只不过再简单说明一下
  1. #将脚本37行至41行替换为一下内容
复制代码
  1.     s1 = "新游戏"
  2.     s2 = "继续"
  3.     s3 = "制作"
  4.     s4 = "退出"
  5.     @command_window = Window_Command.new(192, [s1, s2, s3, s4])
复制代码
测试时,已经有了制作选项,接着说,下面有两种方法:
第一种:不执行场所移动直接在标题场景中显示制作者或制作群
效果截图:
  1. #将脚本99行极其以下替换为一下内容
复制代码
  1.       when 0  # 新游戏
  2.         command_new_game
  3.       when 1  # 继续
  4.         command_continue
  5.       when 2  # 制作
  6.         command_maker
  7.       when 3  # 退出
  8.         command_shutdown
  9.       end
  10.     end
  11.   end
  12.   #----
复制代码
  1. #再在脚本161行继续与退出之间加入一下脚本
复制代码
  1.   #--------------------------------------------------------------------------
  2.   # ● 命令 : 制作
  3.   #--------------------------------------------------------------------------
  4.   def command_maker
  5.     p"游戏制作:————"
  6.   end
复制代码
这是第一种方法
第二种方法:场所移动通过事件说明
效果截图
  1. #再在脚本161行继续与退出之间加入一下脚本
复制代码
  1.   #--------------------------------------------------------------------------
  2.   # ● 命令 : 制作
  3.   #--------------------------------------------------------------------------
  4.   def command_maker
  5.     # 演奏确定 SE
  6.     $game_system.se_play($data_system.decision_se)
  7.     # 停止 BGM
  8.     Audio.bgm_stop
  9.     # 重置测量游戏时间用的画面计数器
  10.     Graphics.frame_count = 0
  11.     # 生成各种游戏对像
  12.     $game_temp          = Game_Temp.new
  13.     $game_system        = Game_System.new
  14.     $game_switches      = Game_Switches.new
  15.     $game_variables     = Game_Variables.new
  16.     $game_self_switches = Game_SelfSwitches.new
  17.     $game_screen        = Game_Screen.new
  18.     $game_actors        = Game_Actors.new
  19.     $game_party         = Game_Party.new
  20.     $game_troop         = Game_Troop.new
  21.     $game_map           = Game_Map.new
  22.     $game_player        = Game_Player.new
  23.     # 设置初期同伴位置
  24.     $game_party.setup_starting_members
  25.     # 设置初期位置的地图
  26.     $game_map.setup(2)
  27.     # 主角向初期位置移动
  28.     $game_player.moveto(10, 10)
  29.     # 刷新主角
  30.     $game_player.refresh
  31.     # 执行地图设置的 BGM 与 BGS 的自动切换
  32.     $game_map.autoplay
  33.     # 刷新地图 (执行并行事件)
  34.     $game_map.update
  35.     # 切换地图画面
  36.     $scene = Scene_Map.new
  37.   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
  2.     @command_window.y = 0
  3.     @command_window.opacity = 0
复制代码
分别是X,Y坐标以及窗口透明度,这里以Scene_Menu中的窗口为例
  1. super(0, 0, 640, 480)
复制代码
这个是窗口的X,Y坐标和窗口大小可以任意来调
在Scene_Menu44行左右
下边分别有每个窗口的坐标:
例如
  1. @playtime_window.x = 0
  2.     @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
  2.     #@sprite.bitmap = RPG::Cache.title($data_system.title_name)
复制代码
将原脚本中这两行#掉
  1. $game_system.bgm_play($data_system.title_bgm)
复制代码
同样把上面的脚本#掉
  1.     #@sprite.bitmap.dispose
  2.     #@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
  2.     @command_window.y = 500
复制代码
其实很简单,在生成生成系统对像之后调用新游戏的内容(就是command_new_game)
再把相关生成标题图形、释放标题图形、演奏标题 BGM全部#掉,其实
  1. $game_system.se_play($data_system.decision_se)
复制代码
可以不#掉。很简单吧!
你也许会问
  1.     # 生成命令窗口
  2.     s1 = "新游戏"
  3.     s2 = "继续"
  4.     s3 = "退出"
  5.     @command_window = Window_Command.new(192, [s1, s2, s3])
  6.     @command_window.back_opacity = 160
  7.     @command_window.x = 500 - @command_window.width / 2
  8.     @command_window.y = 500
复制代码
等此类脚本都在怎么还会跳过标题画面呢?
其实在脚本76行左右的
  1.       # 如果画面被切换就中断循环
  2.       if $scene != self
  3.         break
  4.       end
  5.     end
复制代码
就已经告诉你答案了,在生成系统对象等等之后场所移动
因为画面被切换所以中断循环,之前改了窗口的XY坐标(调出屏幕)
这次补充就到这里吧!

未命名.jpg (107.52 KB, 下载次数: 16)

未命名.jpg

评分

参与人数 3星屑 +1800 收起 理由
各种压力的猫君 + 520 为这种独立思考的精神加分 - - +.
eve592370698 + 880 好东西!给我顶贴吧。
夕阳武士 + 400 很认真,值得鼓励

查看全部评分

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-7 00:03

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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