Project1

标题: 返回脚本有几种 [打印本页]

作者: 乐之魂    时间: 2015-7-28 14:41
标题: 返回脚本有几种
你好,$Scene = Scene_Battle.new是返回初始战斗菜单,那我要返回Scene_Battle 1 该怎么写脚本,我写了$Scene = Scene_Battle 1.new是出错无效的

求助怎么改~~我是想返回上一级战斗菜单(用end会死机没办法)
作者: RyanBern    时间: 2015-7-28 14:48
没有Scene_Battle1这个东西,Scene_Battle1~4都是描绘Scene_Battle的,只是写在了4个脚本页里面而已。
请详细说明你要弄的效果,即你要回到哪一步。
作者: 冷峻逸    时间: 2015-7-28 15:23
提示: 作者被禁止或删除 内容自动屏蔽
作者: 乐之魂    时间: 2015-7-28 15:51
RyanBern 发表于 2015-7-28 14:48
没有Scene_Battle1这个东西,Scene_Battle1~4都是描绘Scene_Battle的,只是写在了4个脚本页里面而已。
请详 ...

就是说我已经在Scene_Battle 3里面改 是在刷新画面 角色命令回合 选择敌人里

if Input.trigger?(Input::B)
  end_enemy_select
  return
end
我在end_enemy_select下行加上$scene = Scene_Battle.new这样可以回到上上级菜单

但我只想回到显示攻击,技能, 防御,物品的那个选项框 应该$scene =什么?
作者: RyanBern    时间: 2015-7-28 16:00
标题: _ar
本帖最后由 RyanBern 于 2015-7-28 20:31 编辑
乐之魂 发表于 2015-7-28 15:51
就是说我已经在Scene_Battle 3里面改 是在刷新画面 角色命令回合 选择敌人里

if Input.trigger?(Input:: ...


不需要写$scene = 什么,因为都是在一个场景里面,$scene = xx是切换场景用的。
RUBY 代码复制
  1. class Scene_Battle
  2.   #--------------------------------------------------------------------------
  3.   # ● 结束选择敌人
  4.   #--------------------------------------------------------------------------
  5.   def end_enemy_select
  6.     # 释放敌人箭头
  7.     @enemy_arrow.dispose
  8.     @enemy_arrow = nil
  9.     if @actor_command_window.index == 0
  10.       # 有效化角色指令窗口
  11.       @actor_command_window.active = true
  12.       @actor_command_window.visible = true
  13.       # 隐藏帮助窗口
  14.       @help_window.visible = false
  15.     end
  16.     if @actor_command_window.index == 1
  17.       end_skill_select
  18.     end
  19.     if @actor_command_window.index == 3
  20.       end_item_select
  21.     end
  22.   end
  23. end

范例: Project10.rar (186.6 KB, 下载次数: 48)
全局搜索'RB modified','RB modified end'可以看到修改的部分。
作者: 乐之魂    时间: 2015-7-28 17:03
RyanBern 发表于 2015-7-28 16:00
不需要写$scene = 什么,因为都是在一个场景里面,$scene = xx是切换场景用的。
class Scene_Battle
  #- ...

不行啊,出错,显示发生了NoMethodError。 undefined method `dispose`for nil:NilClass

end_enemy_select在上面已经出现过的。
作者: 乐之魂    时间: 2015-7-28 18:51
本帖最后由 乐之魂 于 2015-7-28 19:02 编辑
RyanBern 发表于 2015-7-28 16:00
不需要写$scene = 什么,因为都是在一个场景里面,$scene = xx是切换场景用的。
class Scene_Battle
  #- ...


还是没有效果啊,可能只能用调用切换,因为第一个切换Battle有效果所以才写的

能告诉我下么,把$scene = 全部都写给我下好么,战斗选项就在Battle里怎么会没有

可以教我去哪里找么~~求,$scene =只要一句啊,因为我觉得我其它地方可能有问题所以改这里直接有效果……改其它地方估计要改很多的

或者是说没有?应该不会吧,都可以切换Scene_Battle.new的说
作者: 乐之魂    时间: 2015-7-29 21:10
本帖最后由 乐之魂 于 2015-7-29 21:13 编辑

好吧,我放上范例了,是在四个战斗选项下加了一个选项,一共是两个问题,

1)当战斗选项出现时选物品下面那个选项,点击后按B键取消会死机,

2)点击新加选项是默认攻击,因为我是复制攻击的代码的,在battle 3,你能把执行改成不运行什么么,我试过了= nil会出错。

之前我试过了复制完不修改,直接用攻击命令,它会运行选项里的开关事件,但是会攻击。

我要的最终效果是点最后的新选项,就执行开关事件不攻击,而且点完这个选项按B键会取消 不死机。这样……所以我才想要转场脚本

如果你弄好了,我希望能附上修改过那些内容,我想学。

Project1-2.rar

714.47 KB, 阅读权限: 10, 下载次数: 1


作者: 乐之魂    时间: 2015-7-29 21:35
乐之魂 发表于 2015-7-29 21:10
好吧,我放上范例了,是在四个战斗选项下加了一个选项,一共是两个问题,

1)当战斗选项出现时选物品下面 ...

是回合开始时候轮到主角再执行。
作者: RyanBern    时间: 2015-7-29 21:55
乐之魂 发表于 2015-7-29 21:10
好吧,我放上范例了,是在四个战斗选项下加了一个选项,一共是两个问题,

1)当战斗选项出现时选物品下面 ...

Project1添加选项_new.rar (712.84 KB, 下载次数: 42)
工程已上,改的思路是将开关事件包装在技能中,不需要进行开关处理。
默认选择“对话”会自动选择81号技能,81号技能关联了1号公共事件,这样轮到主角执行的时候就可以对话了。不知道是不是你想要的效果。
另外坐标的问题给你改了,你原来加的东西好像不太对,我已经删掉了。
如果想要看教程的话,明天我做一个视频的,几分钟就能看完。
作者: 乐之魂    时间: 2015-7-29 22:08
本帖最后由 乐之魂 于 2015-7-29 22:12 编辑
RyanBern 发表于 2015-7-29 21:55
工程已上,改的思路是将开关事件包装在技能中,不需要进行开关处理。
默认选择“对话”会自动选择81号技 ...


可以啊
作者: 乐之魂    时间: 2015-7-29 22:37
本帖最后由 乐之魂 于 2015-7-29 22:54 编辑
乐之魂 发表于 2015-7-29 22:08
可以啊


效果是达到了谢谢版主SAMA不要视频,如果话多了,要用到大量的公共事件,这对游戏产生什么影响……我不清楚,

用公共事件好像只能一次啊……当点选项的时候,我觉得还是得调用……


我知道了是@active_battleler.current_action.basic = 0这个弄掉就不攻击了
作者: RyanBern    时间: 2015-7-29 23:00
乐之魂 发表于 2015-7-29 22:37
效果是达到了谢谢版主SAMA不要视频,如果话多了,要用到大量的公共事件,这对游戏产生什么影响……我不清 ...

打开开关之后何时关闭?PS我感觉你在走死胡同,从你描述的情况来看用一个公共事件+少许变量完全可以胜任。另外公共事件多了不会卡,只有并行多了会卡。
不过,如果你执意要改,那就直接在我最后给你的工程里面修改。
1. 将改过的Game_Actor改成原来的(默认脚本复制一遍)
2. 将Scene_Battle3里面的when 4对话那里,去掉和current_action有关的内容,并且打开开关。
不知道你是否考虑到若敌人先手把对话的主角打死了,那么还可以进行对话吗?如果是用特技封装的话不会。
那么改成这样,你认为能解决就行吧,我也不多做改动了。
作者: 乐之魂    时间: 2015-7-29 23:11
RyanBern 发表于 2015-7-29 23:00
打开开关之后何时关闭?PS我感觉你在走死胡同,从你描述的情况来看用一个公共事件+少许变量完全可以胜任 ...


谢谢,我已经按你的提示改好了。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1