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

Project1

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

[已经解决] 关于自动生成存档/标题画面观看片尾选项问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
49
在线时间
586 小时
注册时间
2012-9-29
帖子
372
跳转到指定楼层
1
 楼主| 发表于 2013-3-1 18:52:03 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
我想要在玩家到结局时,自动生成一个固定存档在99号位置,
这个99号存档点开之后,会自动跳到另一个地图,而不是结局或者说开头。

这样的话,请问能不能利用脚本或者事件来完成,如果不好弄,
可不可以在游戏开始,除了什么新的故事,增加一个选项“观看片尾”,
然后点击就可以看一个片尾(或者说传到一个地图上去)

如果增加标题画面选项,请问怎么改?那个脚本要改吧...

Lv3.寻梦者

梦石
0
星屑
3846
在线时间
1966 小时
注册时间
2013-1-3
帖子
9536
2
发表于 2013-3-1 19:43:11 | 只看该作者
那个如果是这样的话
用普通的标题界面要写脚本…
可以使用事件标题,用开关什么的来让标题显示一个选项:
步骤如下:
在结局处添加开关为ON
在标题的地图上编上当某开关为ON时,就怎么样…
至于自动存档吧,可以使用自动存档脚本
或者呼出存档画面…
《宿愿·寻剑篇》正式版已经发布!快去看看!点击进入论坛发布贴
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
586 小时
注册时间
2012-9-29
帖子
372
3
 楼主| 发表于 2013-3-2 09:57:37 | 只看该作者
我用“搜索”出了一些关于时间标题的
但是有很多种 请问适合我这种的(4个)有范本吗
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
20
星屑
1840
在线时间
6925 小时
注册时间
2012-12-14
帖子
11485

短篇十战斗者组别冠军开拓者贵宾短篇九勇士组亚军

4
发表于 2013-3-2 12:56:26 | 只看该作者
一个简单的范例:

Project23.zip (200.86 KB, 下载次数: 51)

附上脚本:
  1. #==============================================================================
  2. # ■ Scene_Title
  3. #------------------------------------------------------------------------------
  4. #  处理标题画面的类。
  5. #==============================================================================

  6. class Scene_Title
  7.   #--------------------------------------------------------------------------
  8.   # ● 主处理
  9.   #--------------------------------------------------------------------------
  10.   def main
  11.     # 战斗测试的情况下
  12.     if $BTEST
  13.       battle_test
  14.       return
  15.     end
  16.     # 载入数据库
  17.     $data_actors        = load_data("Data/Actors.rxdata")
  18.     $data_classes       = load_data("Data/Classes.rxdata")
  19.     $data_skills        = load_data("Data/Skills.rxdata")
  20.     $data_items         = load_data("Data/Items.rxdata")
  21.     $data_weapons       = load_data("Data/Weapons.rxdata")
  22.     $data_armors        = load_data("Data/Armors.rxdata")
  23.     $data_enemies       = load_data("Data/Enemies.rxdata")
  24.     $data_troops        = load_data("Data/Troops.rxdata")
  25.     $data_states        = load_data("Data/States.rxdata")
  26.     $data_animations    = load_data("Data/Animations.rxdata")
  27.     $data_tilesets      = load_data("Data/Tilesets.rxdata")
  28.     $data_common_events = load_data("Data/CommonEvents.rxdata")
  29.     $data_system        = load_data("Data/System.rxdata")
  30.     # 生成系统对像
  31.     $game_system = Game_System.new
  32.     # 生成标题图形
  33.     [url=home.php?mod=space&uid=114926]@sprite[/url] = Sprite.new
  34.     @sprite.bitmap = RPG::Cache.title($data_system.title_name)
  35.     # 生成命令窗口
  36.     s1 = "新游戏"
  37.     s2 = "继续"
  38.     s3 = "退出"
  39.     s4 = "观看片尾"
  40.     @command_window = Window_Command.new(192, [s1, s2, s3,s4])
  41.     @command_window.back_opacity = 160
  42.     @command_window.x = 320 - @command_window.width / 2
  43.     @command_window.y = 288
  44.     # 判定继续的有效性
  45.     # 存档文件一个也不存在的时候也调查
  46.     # 有効为 @continue_enabled 为 true、无效为 false
  47.     @continue_enabled = false
  48.     for i in 0..3
  49.       if FileTest.exist?("Save#{i+1}.rxdata")
  50.         @continue_enabled = true
  51.       end
  52.     end
  53.     # 继续为有效的情况下、光标停止在继续上
  54.     # 无效的情况下、继续的文字显示为灰色
  55.     if @continue_enabled
  56.       @command_window.index = 1
  57.     else
  58.       @command_window.disable_item(1)
  59.     end
  60.     # 演奏标题 BGM
  61.     $game_system.bgm_play($data_system.title_bgm)
  62.     # 停止演奏 ME、BGS
  63.     Audio.me_stop
  64.     Audio.bgs_stop
  65.     # 执行过渡
  66.     Graphics.transition
  67.     # 主循环
  68.     loop do
  69.       # 刷新游戏画面
  70.       Graphics.update
  71.       # 刷新输入信息
  72.       Input.update
  73.       # 刷新画面
  74.       update
  75.       # 如果画面被切换就中断循环
  76.       if $scene != self
  77.         break
  78.       end
  79.     end
  80.     # 装备过渡
  81.     Graphics.freeze
  82.     # 释放命令窗口
  83.     @command_window.dispose
  84.     # 释放标题图形
  85.     @sprite.bitmap.dispose
  86.     @sprite.dispose
  87.   end
  88.   #--------------------------------------------------------------------------
  89.   # ● 刷新画面
  90.   #--------------------------------------------------------------------------
  91.   def update
  92.     # 刷新命令窗口
  93.     @command_window.update
  94.     # 按下 C 键的情况下
  95.     if Input.trigger?(Input::C)
  96.       # 命令窗口的光标位置的分支
  97.       case @command_window.index
  98.       when 0  # 新游戏
  99.         command_new_game
  100.       when 1  # 继续
  101.         command_continue
  102.       when 2  # 退出
  103.         command_shutdown
  104.       when 3  # 观看片尾
  105.         command_end
  106.       end
  107.     end
  108.   end
  109.   #--------------------------------------------------------------------------
  110.   # ● 命令 : 新游戏
  111.   #--------------------------------------------------------------------------
  112.   def command_new_game
  113.     # 演奏确定 SE
  114.     $game_system.se_play($data_system.decision_se)
  115.     # 停止 BGM
  116.     Audio.bgm_stop
  117.     # 重置测量游戏时间用的画面计数器
  118.     Graphics.frame_count = 0
  119.     # 生成各种游戏对像
  120.     $game_temp          = Game_Temp.new
  121.     $game_system        = Game_System.new
  122.     $game_switches      = Game_Switches.new
  123.     $game_variables     = Game_Variables.new
  124.     $game_self_switches = Game_SelfSwitches.new
  125.     $game_screen        = Game_Screen.new
  126.     $game_actors        = Game_Actors.new
  127.     $game_party         = Game_Party.new
  128.     $game_troop         = Game_Troop.new
  129.     $game_map           = Game_Map.new
  130.     $game_player        = Game_Player.new
  131.     # 设置初期同伴位置
  132.     $game_party.setup_starting_members
  133.     # 设置初期位置的地图
  134.     $game_map.setup($data_system.start_map_id)
  135.     # 主角向初期位置移动
  136.     $game_player.moveto($data_system.start_x, $data_system.start_y)
  137.     # 刷新主角
  138.     $game_player.refresh
  139.     # 执行地图设置的 BGM 与 BGS 的自动切换
  140.     $game_map.autoplay
  141.     # 刷新地图 (执行并行事件)
  142.     $game_map.update
  143.     # 切换地图画面
  144.     $scene = Scene_Map.new
  145.   end
  146.   #--------------------------------------------------------------------------
  147.   # ● 命令 : 继续
  148.   #--------------------------------------------------------------------------
  149.   def command_continue
  150.     # 继续无效的情况下
  151.     unless @continue_enabled
  152.       # 演奏无效 SE
  153.       $game_system.se_play($data_system.buzzer_se)
  154.       return
  155.     end
  156.     # 演奏确定 SE
  157.     $game_system.se_play($data_system.decision_se)
  158.     # 切换到读档画面
  159.     $scene = Scene_Load.new
  160.   end
  161.   #--------------------------------------------------------------------------
  162.   # ● 命令 : 退出
  163.   #--------------------------------------------------------------------------
  164.   def command_shutdown
  165.     # 演奏确定 SE
  166.     $game_system.se_play($data_system.decision_se)
  167.     # BGM、BGS、ME 的淡入淡出
  168.     Audio.bgm_fade(800)
  169.     Audio.bgs_fade(800)
  170.     Audio.me_fade(800)
  171.     # 退出
  172.     $scene = nil
  173.   end
  174.    #--------------------------------------------------------------------------
  175.   # ● 命令 : 观看片尾
  176.   #--------------------------------------------------------------------------
  177.   def command_end
  178.     # 演奏确定 SE
  179.     $game_system.se_play($data_system.decision_se)
  180.     command_new_game
  181.     # BGM、BGS、ME 的淡入淡出
  182.     Audio.bgm_fade(800)
  183.     Audio.bgs_fade(800)
  184.     Audio.me_fade(800)
  185.    
  186.     #
  187.     $game_temp.player_transferring = true # 场所移动标示,必须为true才会执行场所移动
  188.    
  189.     $game_temp.player_new_map_id = 2 # 地图标号
  190.     $game_temp.player_new_x = 15 # 横坐标
  191.     $game_temp.player_new_y = 15 # 纵坐标
  192.     $game_temp.player_new_direction = 15 # 朝向
  193. #
  194.     # 退出
  195.     $scene = Scene_Map.new
  196.     #$scene = nil
  197.   end
  198.   #--------------------------------------------------------------------------
  199.   # ● 战斗测试
  200.   #--------------------------------------------------------------------------
  201.   def battle_test
  202.     # 载入数据库 (战斗测试用)
  203.     $data_actors        = load_data("Data/BT_Actors.rxdata")
  204.     $data_classes       = load_data("Data/BT_Classes.rxdata")
  205.     $data_skills        = load_data("Data/BT_Skills.rxdata")
  206.     $data_items         = load_data("Data/BT_Items.rxdata")
  207.     $data_weapons       = load_data("Data/BT_Weapons.rxdata")
  208.     $data_armors        = load_data("Data/BT_Armors.rxdata")
  209.     $data_enemies       = load_data("Data/BT_Enemies.rxdata")
  210.     $data_troops        = load_data("Data/BT_Troops.rxdata")
  211.     $data_states        = load_data("Data/BT_States.rxdata")
  212.     $data_animations    = load_data("Data/BT_Animations.rxdata")
  213.     $data_tilesets      = load_data("Data/BT_Tilesets.rxdata")
  214.     $data_common_events = load_data("Data/BT_CommonEvents.rxdata")
  215.     $data_system        = load_data("Data/BT_System.rxdata")
  216.     # 重置测量游戏时间用的画面计数器
  217.     Graphics.frame_count = 0
  218.     # 生成各种游戏对像
  219.     $game_temp          = Game_Temp.new
  220.     $game_system        = Game_System.new
  221.     $game_switches      = Game_Switches.new
  222.     $game_variables     = Game_Variables.new
  223.     $game_self_switches = Game_SelfSwitches.new
  224.     $game_screen        = Game_Screen.new
  225.     $game_actors        = Game_Actors.new
  226.     $game_party         = Game_Party.new
  227.     $game_troop         = Game_Troop.new
  228.     $game_map           = Game_Map.new
  229.     $game_player        = Game_Player.new
  230.     # 设置战斗测试用同伴
  231.     $game_party.setup_battle_test_members
  232.     # 设置队伍 ID、可以逃走标志、战斗背景
  233.     $game_temp.battle_troop_id = $data_system.test_troop_id
  234.     $game_temp.battle_can_escape = true
  235.     $game_map.battleback_name = $data_system.battleback_name
  236.     # 演奏战斗开始 BGM
  237.     $game_system.se_play($data_system.battle_start_se)
  238.     # 演奏战斗 BGM
  239.     $game_system.bgm_play($game_system.battle_bgm)
  240.     # 切换到战斗画面
  241.     $scene = Scene_Battle.new
  242.   end
  243. end
复制代码
大家好,这里是晨露的说。请多多指教。
刚入门RM软件制作,请大家多多帮助我哦。
落雪君的欢乐像素教程,欢迎查阅。

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
586 小时
注册时间
2012-9-29
帖子
372
5
 楼主| 发表于 2013-3-2 19:38:12 | 只看该作者
本帖最后由 mulanyuan 于 2013-3-2 19:40 编辑
美丽晨露 发表于 2013-3-2 12:56
一个简单的范例:


谢谢了 那么还有一个问题
我还有用图片标题画面脚本,请问另外这个脚本怎么改

(还有最最最后一个小问题= =RMXP使用远景图,就不可以在图层预览吗)
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
20
星屑
1840
在线时间
6925 小时
注册时间
2012-12-14
帖子
11485

短篇十战斗者组别冠军开拓者贵宾短篇九勇士组亚军

6
发表于 2013-3-2 20:11:15 | 只看该作者
本帖最后由 美丽晨露 于 2013-3-2 20:12 编辑
mulanyuan 发表于 2013-3-2 19:38
谢谢了 那么还有一个问题
我还有用图片标题画面脚本,请问另外这个脚本怎么改


依旧是范例
四个选项图片标题.zip (210.72 KB, 下载次数: 61)

还有无法显示远景图在图层内
大家好,这里是晨露的说。请多多指教。
刚入门RM软件制作,请大家多多帮助我哦。
落雪君的欢乐像素教程,欢迎查阅。

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
586 小时
注册时间
2012-9-29
帖子
372
7
 楼主| 发表于 2013-3-2 20:13:45 | 只看该作者
本帖最后由 mulanyuan 于 2013-3-2 20:15 编辑

谢谢了= =


看到晨露每天都在6R

就羞涩地最后问一个问题= =

我找到了一个播放swf的脚本

我想在某个地图播放一个swf,请问怎么编辑事件

假设这个swf叫“2.swf”

点评

将观看片尾的那段命令复制到图片标题的WHEN 3内  发表于 2013-3-2 20:15
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
586 小时
注册时间
2012-9-29
帖子
372
8
 楼主| 发表于 2013-3-2 20:38:54 | 只看该作者
美丽晨露 发表于 2013-3-2 12:56
一个简单的范例:

= =无语了 title脚本发生34行error

按道理不会的啊

点评

改为@sprite = Sprite.new 论坛BUG出错  发表于 2013-3-2 21:01
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
20
星屑
1840
在线时间
6925 小时
注册时间
2012-12-14
帖子
11485

短篇十战斗者组别冠军开拓者贵宾短篇九勇士组亚军

9
发表于 2013-3-2 21:07:06 | 只看该作者
mulanyuan 发表于 2013-3-2 20:13
谢谢了= =


fls = RMFlash.load("2.swf",640,480)
fls.x = 0
fls.y = 0
fls.loop = 1
while true
        Graphics.update
        Input.update
        fls.update
        break if !fls.playing?
        break if Input.trigger?(13)
end
fls.dispose

事件脚本内执行

评分

参与人数 1星屑 +150 收起 理由
明特·布兰马修 + 150 认可答案

查看全部评分

大家好,这里是晨露的说。请多多指教。
刚入门RM软件制作,请大家多多帮助我哦。
落雪君的欢乐像素教程,欢迎查阅。

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
586 小时
注册时间
2012-9-29
帖子
372
10
 楼主| 发表于 2013-3-2 21:13:29 | 只看该作者
美丽晨露 发表于 2013-3-2 21:07
fls = RMFlash.load("2.swf",640,480)
fls.x = 0
fls.y = 0

好了 全部搞定,除了这个复制when3
  1.    #--------------------------------------------------------------------------
  2.   # ● 命令 : 制作团队
  3.   #--------------------------------------------------------------------------
  4.   def command_end
  5.     # 演奏确定 SE
  6.     $game_system.se_play($data_system.decision_se)
  7.     command_new_game
  8.     # BGM、BGS、ME 的淡入淡出
  9.     Audio.bgm_fade(800)
  10.     Audio.bgs_fade(800)
  11.     Audio.me_fade(800)
  12.    
  13.     #
  14.     $game_temp.player_transferring = true # 场所移动标示,必须为true才会执行场所移动
  15.    
  16.     $game_temp.player_new_map_id = 29 # 地图标号
  17.     $game_temp.player_new_x = 15 # 横坐标
  18.     $game_temp.player_new_y = 15 # 纵坐标
  19.     $game_temp.player_new_direction = 15 # 朝向
  20. #
  21.     # 退出
  22.     $scene = Scene_Map.new
  23.     #$scene = nil
  24.   end
复制代码
这个是放到“图片标题画面”哪个地方?WHEN3有点多 求个截图示例
谢谢了

点评

嗯,我帮你整合一下  发表于 2013-3-2 21:23
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-3 00:46

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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