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

Project1

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

[已经过期] gameover回到初始地点或读档

[复制链接]

Lv1.梦旅人

梦石
0
星屑
74
在线时间
3 小时
注册时间
2018-2-13
帖子
9
跳转到指定楼层
1
发表于 2018-2-19 10:05:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
gameover画面可选择回到初始点或读档

Lv3.寻梦者

梦石
0
星屑
2709
在线时间
166 小时
注册时间
2018-1-19
帖子
89
2
发表于 2018-2-19 10:32:33 | 只看该作者
这个呀...在Scene_Gameover 的56行$scene=Scene_Title.new改成$scene=Scene_Load.new就行了吧
求勾搭QwQ(bu)会使用脚本和事件QwQ虽然脚本还只是初级程度,还在学习ingQwQ
平常很闲,特别想回答问题和解决问题。再求勾搭呜呜呜QWQ
QQ:841155947
回复 支持 反对

使用道具 举报

Lv2.观梦者

仙木精灵

梦石
0
星屑
651
在线时间
215 小时
注册时间
2012-4-16
帖子
502
3
发表于 2018-2-19 10:35:39 | 只看该作者
新建场景和窗口,执行内容写入读档的命令等操作
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
8498
在线时间
775 小时
注册时间
2017-11-10
帖子
1231
4
发表于 2018-2-19 11:52:57 | 只看该作者
随便写了个,有些小问题没有解决。
但战斗中造成的游戏结束可正常返回地图。
其余方面还弄不明白。
先上暂时的脚本:
  1. #==============================================================================
  2. # ■ Scene_Gameover
  3. #------------------------------------------------------------------------------
  4. #  处理游戏结束画面的类。
  5. #==============================================================================

  6. class Scene_Gameover
  7.   #--------------------------------------------------------------------------
  8.   # ● 主处理
  9.   #--------------------------------------------------------------------------
  10.   def main
  11.     # 生成游戏结束图形
  12.     @sprite = Sprite.new
  13.     @sprite.bitmap = RPG::Cache.gameover($data_system.gameover_name)
  14.     # 停止 BGM、BGS
  15.     $game_system.bgm_play(nil)
  16.     $game_system.bgs_play(nil)
  17.     # 演奏游戏结束 ME
  18.     $game_system.me_play($data_system.gameover_me)
  19.     # 执行过渡
  20.     Graphics.transition(120)
  21.     # 生成命令窗口
  22.     s1 = "返回重试"
  23.     s2 = "读取存档"
  24.     s3 = "返回标题"
  25.     s4 = "退出"
  26.     @command_window = Window_Command.new(192, [s1, s2, s3,s4])
  27.     @command_window.back_opacity = 160
  28.     @command_window.x = 320 - @command_window.width / 2
  29.     @command_window.y = 160
  30.     # 判定继续的有效性
  31.     # 存档文件一个也不存在的时候也调查
  32.     # 有効为 @continue_enabled 为 true、无效为 false
  33.     @continue_enabled = false
  34.     for i in 0..3
  35.       if FileTest.exist?("Save#{i+1}.rxdata")
  36.         @continue_enabled = true
  37.       end
  38.     end
  39.     # 继续为有效的情况下、光标停止在继续上
  40.     # 无效的情况下、继续的文字显示为灰色
  41.     if @continue_enabled
  42.       @command_window.index = 1
  43.     else
  44.       @command_window.disable_item(1)
  45.     end
  46.     # 主循环
  47.     loop do
  48.       # 刷新游戏画面
  49.       Graphics.update
  50.       # 刷新输入信息
  51.       Input.update
  52.       # 刷新画面情报
  53.       update
  54.       # 如果画面被切换的话就中断循环
  55.       if $scene != self
  56.         break
  57.       end
  58.     end
  59.     # 准备过渡
  60.     Graphics.freeze
  61.     # 释放游戏结束图形
  62.     @sprite.bitmap.dispose
  63.     @sprite.dispose
  64.     # 释放命令窗口
  65.     @command_window.dispose
  66.     # 执行过度
  67.     Graphics.transition(40)
  68.     # 准备过渡
  69.     Graphics.freeze
  70.     # 战斗测试的情况下
  71.     if $BTEST
  72.       $scene = nil
  73.     end
  74.   end
  75.    #--------------------------------------------------------------------------
  76.   # ● 刷新画面
  77.   #--------------------------------------------------------------------------
  78.   def update
  79.     # 刷新命令窗口
  80.     @command_window.update
  81.     # 按下 C 键的情况下
  82.     if Input.trigger?(Input::C)
  83.       # 命令窗口的光标位置的分支
  84.       case @command_window.index
  85.       when 0  # 返回重试
  86.         command_goto
  87.       when 1  # 继续
  88.         command_continue
  89.       when 2  # 标题
  90.         command_to_title
  91.       when 3  # 退出
  92.         command_shutdown
  93.       end
  94.     end
  95.   end
  96.   #--------------------------------------------------------------------------
  97.   # ● 命令 : 返回重试
  98.   #--------------------------------------------------------------------------
  99.   def command_goto
  100.     # 演奏确定 SE
  101.     $game_system.se_play($data_system.decision_se)
  102.     #全回复
  103.     for actor in $game_party.actors
  104.         actor.recover_all
  105.     end
  106.     #场景移动
  107.     $game_temp.player_transferring = true # 场所移动标示,必须为true才会执行场所移动
  108.     $game_temp.player_new_map_id = 1 # 地图标号
  109.     $game_temp.player_new_x = 1 # 横坐标
  110.     $game_temp.player_new_y = 1 # 纵坐标
  111.     $game_temp.player_new_direction = 15 # 朝向
  112.     # 刷新主角
  113.     $game_player.refresh
  114.     # 执行地图设置的 BGM 与 BGS 的自动切换
  115.     $game_map.autoplay
  116.     # 刷新地图 (执行并行事件)
  117.     $game_map.update
  118.     #等待60帧
  119.     @wait_count = 60
  120.     # 切换到地图
  121.     $scene = Scene_Map.new
  122.      #让gameover赋值nil
  123.     $game_temp.gameover = nil
  124.     # 画面渐变
  125.     Graphics.transition(120)
  126.   end
  127.   #--------------------------------------------------------------------------
  128.   # ● 命令 : 继续
  129.   #--------------------------------------------------------------------------
  130.   def command_continue
  131.     # 继续无效的情况下
  132.     unless @continue_enabled
  133.       # 演奏无效 SE
  134.       $game_system.se_play($data_system.buzzer_se)
  135.       return
  136.     end
  137.     # 演奏确定 SE
  138.     $game_system.se_play($data_system.decision_se)
  139.     # 切换到读档画面
  140.     $scene = Scene_Load.new
  141.   end
  142.   #--------------------------------------------------------------------------
  143.   # ● 选择命令 [返回标题画面] 时的处理
  144.   #--------------------------------------------------------------------------
  145.   def command_to_title
  146.     # 演奏确定 SE
  147.     $game_system.se_play($data_system.decision_se)
  148.     # 淡入淡出 BGM、BGS、ME
  149.     Audio.bgm_fade(800)
  150.     Audio.bgs_fade(800)
  151.     Audio.me_fade(800)
  152.     # 切换到标题画面
  153.     $scene = Scene_Title.new
  154.   end
  155.   #--------------------------------------------------------------------------
  156.   # ● 命令 : 退出
  157.   #--------------------------------------------------------------------------
  158.   def command_shutdown
  159.     # 演奏确定 SE
  160.     $game_system.se_play($data_system.decision_se)
  161.     # BGM、BGS、ME 的淡入淡出
  162.     Audio.bgm_fade(800)
  163.     Audio.bgs_fade(800)
  164.     Audio.me_fade(800)
  165.     # 退出
  166.     $scene = nil
  167.   end
  168. end
复制代码

评分

参与人数 2+2 收起 理由
hohbhx2b + 1
魔法丶小肉包 + 1 塞糖~

查看全部评分

一个只会简单事件的Rm新人,脚本完全不懂。只求做个简单的游戏完成自己的游戏之梦而已。
第一个游戏已经完成,等待各素材的完成和测试。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2709
在线时间
166 小时
注册时间
2018-1-19
帖子
89
5
发表于 2018-2-19 13:25:02 | 只看该作者
文雅夕露 发表于 2018-2-19 11:52
随便写了个,有些小问题没有解决。
但战斗中造成的游戏结束可正常返回地图。
其余方面还弄不明白。

楼上的脚本偶试了下。虽然想用$game_temp.gameover = nil来取消gameover
但是场所移动后,之前执行的游戏结束的事件又会自动执行了,所以才会不断的游戏结束

点评

所以说白了,不要用事件里的游戏结束,直接加脚本$game_temp.gameover = true 都好用的多,乃的不断出现gameover问题也就没了( ̄▽ ̄")  发表于 2018-2-19 14:22
求勾搭QwQ(bu)会使用脚本和事件QwQ虽然脚本还只是初级程度,还在学习ingQwQ
平常很闲,特别想回答问题和解决问题。再求勾搭呜呜呜QWQ
QQ:841155947
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
74
在线时间
3 小时
注册时间
2018-2-13
帖子
9
6
 楼主| 发表于 2018-2-19 18:39:30 | 只看该作者
有bug,返回后事件不能继续工作了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-11 08:20

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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