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

Project1

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

[已经解决] 关于脚本中有多个Main……

[复制链接]

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21825
在线时间
9436 小时
注册时间
2012-6-19
帖子
7120

开拓者短篇九导演组冠军

跳转到指定楼层
1
发表于 2014-2-22 14:02:47 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 喵呜喵5 于 2014-2-23 15:41 编辑



脚本中有多个Main的时候在游戏中选择退出游戏后不会退出游戏而是进入下一个main同时读取下一个main以上的脚本开始新游戏

求教以这种方式开始的新游戏是否会有什么BUG

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

2
发表于 2014-2-22 14:32:12 | 只看该作者
我猜没有……应该……

不过我退出游戏一般是按右上角的红叉叉

点评

我也是用的红叉退出的……主要是把这个玩意儿包装一下可以做一些彩蛋什么的……  发表于 2014-2-22 14:35

评分

参与人数 1星屑 +60 收起 理由
喵呜喵5 + 60 谢谢

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3298
在线时间
1120 小时
注册时间
2009-4-15
帖子
815
3
发表于 2014-2-22 20:04:43 | 只看该作者
按程序执行的顺序看,没有,游戏首先找到第一个main,执行,退出游戏并不是结束程序,而是rgss_main { SceneManager.run }执行结束而已,你将一段代码放在main下面,代表退出游戏后继续执行下一段代码而已,如果后面没有代码了,那程序执行结束;如果后面还有代码,那就接着执行后续代码。

评分

参与人数 1星屑 +60 收起 理由
喵呜喵5 + 60 谢谢

查看全部评分

回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

百合控

梦石
0
星屑
6643
在线时间
1275 小时
注册时间
2013-8-21
帖子
3657

开拓者

4
发表于 2014-2-23 15:31:10 | 只看该作者

不会

本帖最后由 余烬之中 于 2014-2-23 15:34 编辑

不会

可以知道这个…………rgss_main { SceneManager.run }

在SceneManager.run中 会首先调用到 DataManager.init 然后进行他自己的功能(场景的管理,主要就只有压栈退栈建背景……)

DataManager.init可以顾名思义 也就是初始化数据 这时会重新读取数据库并建立各种游戏对象

a = Class.new
# 对 a 的操作
a = Class.new

显然原来的a已经被抛弃了 GC会负责收集的
(可以考虑在第二个main前加一句GC.start清理垃圾信息)

重建后SceneManager就会这样:
@Scene = first_scene_class.new
@scene.main while @scene

于是是全新的游戏

当然 需要注意一点 按下F12可以重置rgss_main 所以

rgss_main { p 1; SceneManager.run }

rgss_main { p 2; SceneManager.run }

第一次游戏中1 退出后 第二次游戏中2 如果两个main不一样(一个真实一个彩蛋),那么F12并不能返回到第一个
当然这不算是bug 因为F1里已经说明了……   

中间的代码可以新增定义 然后进入游戏后触发不一样的东西 这样两个rgss_main就是一样的 完全不用考虑F12(因为就算考虑了也没什么问题嘛)

评分

参与人数 1星屑 +80 收起 理由
喵呜喵5 + 80 谢谢

查看全部评分

萌新瑟瑟发抖
看到我请叫我去干活
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-23 19:52

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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