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

Project1

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

[已经解决] [已解决]RGSS脚本运行顺序一些问题?

[复制链接]

Lv4.逐梦者

梦石
0
星屑
14126
在线时间
2143 小时
注册时间
2019-1-24
帖子
1121

R考场第七期纪念奖

跳转到指定楼层
1
发表于 2019-3-14 19:33:59 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 miantouchi 于 2019-3-19 11:49 编辑

#==============================================================================
# ■ Main
#------------------------------------------------------------------------------
#  各定义结束后、从这里开始实际处理。
#==============================================================================

begin
  # 准备过渡
  # 设置系统默认字体
  Font.default_name = (["黑体"])
  Graphics.freeze
  # 生成场景对像 (标题画面)
  $scene = Scene_Title.new
  # $scene 为有效的情况下调用 main 过程
  while $scene != nil
    $scene.main
  end
  # 淡入淡出
  Graphics.transition(20)
rescue Errno::ENOENT
  # 补充 Errno::ENOENT 以外错误
  # 无法打开文件的情况下、显示信息后结束
  filename = $!.message.sub("No such file or directory - ", "")
  print("找不到文件 #{filename}。 ")
end
1.脚本是不是先运行上面这段代码到 $scene = Scene_Title.new运行这块,就跳转到Scene_Title这个类里面。
2.我看某侠教程在里面最下面自己复制了一份Scene_Menu,和Scene_ItemSort后,系统直接用下面的自己修改的Scene_Menu这个界面了,
上面的Scene_Menu直接废了吧,就出现灵药,这些自己定义的界面。
3.Scene_ItemSort自己定义了main方法,他影响之前脚本运行顺序吗?表达不太明白,总之我想知道这些类的运行顺序
谢谢,大家能解答下。

1.png (323.39 KB, 下载次数: 19)

1.png

2.png (429.85 KB, 下载次数: 17)

2.png

3.png (57.17 KB, 下载次数: 14)

3.png

Lv4.逐梦者

梦石
0
星屑
14126
在线时间
2143 小时
注册时间
2019-1-24
帖子
1121

R考场第七期纪念奖

2
 楼主| 发表于 2019-3-15 13:53:30 | 显示全部楼层
1.我测试了脚本这个并没有覆盖啊,哈哈,啥原因?

2.另外你的第一个标签脚本,我原样打上的会循环前三句,我自己网上加了条件,才能显示、第一句、第二句反复?

3.思考:  经常可以碰到"我为什么不能在战斗中打开装备" 这样的问题,  具体的原因是什么呢?
Scene_Battle1                                # 处理战斗画面的类。
        Window_Command               # 生成命令窗口
        Window_PartyCommand       # 生成其它窗口
        Window_Help                        # 生成帮助窗口
        Window_BattleStatus         
        Window_Message                  # 生成信息窗口
              
Scene_Battle 2
        Window_BattleResult          # 生成战斗结果窗口
Scene_Battle 3
        Window_Skill                      # 生成特技窗口
        Window_Item                     # 生成物品窗口

我看了下没有以下装备的窗口,只有上面这些窗口,我回答的对不对?
Window_Help          # 生成窗口
        Window_EquipLeft     
        Window_EquipRight
        Window_EquipItem

1.jpg (279.15 KB, 下载次数: 22)

1.jpg

2.jpg (98.21 KB, 下载次数: 12)

2.jpg
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
14126
在线时间
2143 小时
注册时间
2019-1-24
帖子
1121

R考场第七期纪念奖

3
 楼主| 发表于 2019-3-15 21:31:05 | 显示全部楼层
本帖最后由 miantouchi 于 2019-3-15 21:32 编辑

1.用F9打开1号开关后再和NPC对话试试,
    我按F9后是数据库,你的意思是用公共事件里面的开关吗?
2. 因为 a是局部变量, 脚本一结束, 它就失效了, 所以第四个窗口等同于"无指针", 如果, 你把a换成@a(实变量), 那第四个窗口就不会消失了。

我把a.y = 64 ; a.opacity = 128这句加在哪个窗口里面哪个窗口都是一样的,你是加在最后一个窗口,我加在其他三个也一样。
我这块还是没太明白,我把第三个窗口加上@a,行走后第三个窗口也没有消失,其他三个都消失了。是不是我把你的代码加错地方了。

3.每次调用都改变了X的值, 而这个改变只是针对调用的对象, 没有对原本的窗口脚本有影响, 所以说,它不是"跳转"

我测试了确实是每次调用直接刷新当前金币,如果这个时候我获得了多了金币窗口不会显示,只有再次调用才能显示出来。
那跳转就是时时刻刻能检测到金币数量,并且刷新到窗口里面吗?

确实事件那块没咋学完,就是开始看完了,va的迷样神君的视频教程跟了做了一遍,也没啥实战经验,就开始学脚本了。真的需要学的东西太多了现在。

1.png (76 KB, 下载次数: 16)

1.png

2.png (76.11 KB, 下载次数: 15)

2.png

3.png (44.09 KB, 下载次数: 14)

3.png

5.png (84.41 KB, 下载次数: 11)

5.png
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
14126
在线时间
2143 小时
注册时间
2019-1-24
帖子
1121

R考场第七期纪念奖

4
 楼主| 发表于 2019-3-16 09:17:18 | 显示全部楼层
不瞒你说,我学习脚本就是为了复刻游戏的,里面有很多界面都需要改,例如战斗界面是纵版的(不同于系统默认的纵版),并且人物有攻击动画,双刀流、空手攻击动画,空手攻击有伤害,队伍跟随,菜单栏的修改等等,我这一看,单单靠事件和自身数据库的设置是打不到了,所以我就先从脚本入手了,就没着急直接做游戏,学习脚本,尝试着更改这些窗口。素材库人物行走图都基本弄完了。
第一个问题解决了。
第二个问题差不多明白了什么叫调用了,每次调用会覆盖前面的,顺序是从前往后,不会返回去。那你说,那能不能帮找一处脚本中,调用的地方和跳转的地方,脚本中有跳转的地方吗?
第三个问题$a 来代替之前的 @a,我测试了会刷新物品界面了,并且选择物品同时人物会行走。
@a是实例变量,$a是全局变量,@a的范围应该是指在那个你写的脚本范围里面能用,$a在所有类里面都能用,是这个原因吗?
另外Scene_Map它负责的画图范围是哪里,是不是就是负责刷新弹出来的消息框。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
14126
在线时间
2143 小时
注册时间
2019-1-24
帖子
1121

R考场第七期纪念奖

5
 楼主| 发表于 2019-3-16 10:22:56 | 显示全部楼层
好吧,我先动手制作,先用事件把游戏基本框架做下,然后再慢慢修改各个界面,这样也是行的吧,别游戏做了后来涉及改界面什么的费劲了。
,你看下我画的,
第一步:$scene = Scene_Title.new 生成$scene实例
第二步:调用$scene的main方法
第三步:main方法里面有if.....end,loop do......end这些循环方法,属于跳转命令

所以调用里面包含着跳转,调用是每次调用会覆盖前面的,顺序是从前往后,不会返回去。跳转是遇到指定条件跳到另外一个位置。

1.jpg (194.06 KB, 下载次数: 21)

1.jpg

2.jpg (274.65 KB, 下载次数: 17)

2.jpg

3.jpg (217.26 KB, 下载次数: 10)

3.jpg

点评

因为"下意识"的东西, 很难解释太多~, 比如你试试解释下怎么呼吸, 很多东西实际动手试一下就知道了  发表于 2019-3-16 10:55
好的,我现在对脚本还是陌生感觉,有些时候你们一句话解释的,我可能得解释10句才能明白  发表于 2019-3-16 10:43
所以才提出"调用"和"跳转"的差别  发表于 2019-3-16 10:29
不用纠结这个"跳转"还是"调用"啦, 当初我提到这个是因为你把 $scene = Scene_Title.new 当成"跳到Scene_Title脚本去, 所以无法理解下面的那些脚本怎么办   发表于 2019-3-16 10:28
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-6 01:30

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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