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

Project1

 找回密码
 注册会员
搜索
楼主: hide秀
打印 上一主题 下一主题

NowLoading v0.1

 关闭 [复制链接]

Lv1.梦旅人

辉瑞中国首席研究员<

梦石
0
星屑
50
在线时间
142 小时
注册时间
2008-1-18
帖子
2129
11
发表于 2008-9-27 04:33:45 | 只看该作者
回答LS的问题
以@@开始的变量是类变量。在类的定义中定义类变量,可以在类的特殊方法、实例方法等处对类变量进行引用 OR 赋值

又看到了Thread = =
以前也问过线程的问题,当时也半懂不懂
希望LZ能详细讲一下线程...我承认我很贪心
来6r就是等某位仁兄的巨坑

褴褛着身行无端,囊中羞涩空心酸。
平生几无得意事,倒塔泡面宅寝室。
惟羡隔壁高帅富,雨露春风月夜声。
青丝无处觅其踪,只有硬盘苍井空。
莫云男儿空悲愁,鸿鹄岂不天际游。
坐断天下执鹿首,千百金帛万兜鍪。
夜深忽梦某年月,再见女神欲语迟。
吊丝终有逆袭日,木耳再无回粉时。
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
39016
在线时间
5717 小时
注册时间
2006-11-10
帖子
6619
12
发表于 2008-9-27 05:44:55 | 只看该作者
所以了? @@ori.call(*args)这里的@@ori是引用了method的方法还是 Graphics的方法?

抱歉= =,DBSHY君的那些文字组合给我的信息好象有反作用~~~

本来我根据夏娜殿的解说,@@ori.call应该是引用了method的方法~~现在觉得好象自己理解错了...

= =我现在想知道这部分内容是属于什么的~,F1里搜不到帮助,我怕这样下去我的问题会越来越多~~,还是系统的完整学比较好....
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
5 小时
注册时间
2008-6-28
帖子
292
13
发表于 2008-9-27 10:41:55 | 只看该作者
。。。。。。。
貌似作用不大{/gg},过场动画读入的时候,如果背景图片太大还是会直接过去,而没有卡住,背景依然黑色一片,可能是读入了图片可是还是没有显示出来,如果这个脚本是这样就此为止的话,貌似没有实现其应有的功能(好像loading就是要读取过后,图像什么的要完全显示才叫真正的loading的吧。。。{/gg}如果只是读入了图片而没有显示出来的话,那貌似就不太实用了)。。。。。。。没有完整一点的吗。。。这个脚本还是不能完全解决问题,读取的时候一个画面就过去了,图像还是没有显示出来,这样作用就好像一个loading图片而已。。。。并且不能随便调用。。。。请秀大再继续努力一点,搞个智能化和可以自行调用的完整版出来,等待中。。。。不过有了这个脚本做参考我想我也能够搞出来了。。。非常感谢。。。
我试用过后问题还是依然,貌似这个脚本的功能还是不够位。。。这里就提下试用中第一时间出现的问题以望改进,如果不好请无视。。。。。。
不要小看偶哦~~偶可是雨血2和历史2的主系统哦
回复 支持 反对

使用道具 举报

Lv1.梦旅人

粉蜘蛛秀秀

梦石
0
星屑
76
在线时间
39 小时
注册时间
2007-6-4
帖子
384

贵宾第1届Title华丽大赛新人奖

14
 楼主| 发表于 2008-9-27 17:20:30 | 只看该作者
。。。。。。。
貌似作用不大,过场动画读入的时候,如果背景图片太大还是会直接过去,而没有卡住,背景依然黑色一片,可能是读入了图片可是还是没有显示出来,如果这个脚本是这样就此为止的话,貌似没有实现其应有的功能(好像loading就是要读取过后,图像什么的要完全显示才叫真正的loading的吧。。。如果只是读入了图片而没有显示出来的话,那貌似就不太实用了)。。。。。。。没有完整一点的吗。。。这个脚本还是不能完全解决问题,读取的时候一个画面就过去了,图像还是没有显示出来,这样作用就好像一个loading图片而已。。。。并且不能随便调用。。。。请秀大再继续努力一点,搞个智能化和可以自行调用的完整版出来,等待中。。。。不过有了这个脚本做参考我想我也能够搞出来了。。。非常感谢。。。
我试用过后问题还是依然,貌似这个脚本的功能还是不够位。。。这里就提下试用中第一时间出现的问题以望改进,如果不好请无视。。。。。。

这样啊 自定义图片的话 有这个可能 因为Bitmap.new需要一定时间 如果数据读取的时间少于Bitmap.new的时间 可能就显示不了nowLoading图片了
其实这个问题也很好解决
在Thread.new之前把Bitmap.new和Sprite.new处理了 这样不管怎样都会先显示NowLoad图片 然后再开始读取场景数据
@xxx = Sprite.new
@xxx.bitmap.new = RPG:Cache.....
Thread.new {
......
.....
}
这样处理试试看{/wx}




http://rpg.blue/upload_program/files/hide_xiu_96911465.png
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
5 小时
注册时间
2008-6-28
帖子
292
15
发表于 2008-9-27 19:56:05 | 只看该作者
这样啊 自定义图片的话 有这个可能 因为Bitmap.new需要一定时间 如果数据读取的时间少于Bitmap.new的时间 可能就显示不了nowLoading图片了
其实这个问题也很好解决
在Thread.new之前把Bitmap.new和Sprite.new处理了 这样不管怎样都会先显示NowLoad图片 然后再开始读取场景数据
@xxx = Sprite.new
@xxx.bitmap.new = RPG:Cache.....
Thread.new {
......
.....
}
这样处理试试看

可能我不是太会使用这个脚本。。。。。。。。{/gg}
不是十分理解,不过秀大可能把我的问题理解错误,并不是这个脚本完全不起作用,而是不完整。其实我没有自定义图片,用的都是你的默认的那种,其实效果也非常不错。。而问题是插入你的脚本后在过场动画剧情的的时候会有now loading显示。。就是说这个脚本实现了一些功能,其实是生效的。。。可是因为背景图都十分的大型(使用了大型的三远景脚本,而这些过场动画是用事件做成的,方法是事件:场所移动:[003,地图名],(000,000),就是自动场所移动,上面用事件做出人物动画,对话之类的东西,这种过场剧情也是比较普遍的做法),不知道是不是电脑的问题,当now loading显示后背景图片依然没有显示(其实背景图可能已经读入,因为地图提示脚本已经报出地名),而是背景图没有显示出来而造成黑色的一片,而本身我用事件强行等待一段时间是可以显示的,只是这个方法没有智能,几乎不管电脑好坏,一律等待。。。造成了游戏流程方面有很大的破坏,虽然是解决了问题,可是好像就是一种璋眼法一类的东西。。。。头痛。。。如果秀大的脚本能够处理像这些问题的话,那么我就不用想的头都暴了。。。{/cy}
看了看你的代码,这个脚本的功能好像是在不同场景中过场(战斗和地图切换的时候就会有,还有开始的时候标题也会有,而真正在同是地图场景中剧情过场要用到的时候反而没有了,可能是我用法有误。。。汗)的时候自行调用而出现loading图片,当图片什么的读入时候解冻,不好的是图片没有完全显示的时候就解冻了(造成了图片没有显示的时候自动事件已经开始,剧情在一片“黑暗”中进行),我想最好是做成当图片没有显示的时候,一律把所有的东西都冻结,等所有图片都显示完毕然后再解封。。。这个是所有loading的最基本的功能,不过可能rm实现这个可能真的非常困难。。。。如果没有办法也就这样了。。。用这个再配合一下等待,也就过去了。。。。。。。。还有就是当在原地图同场景过场也是会读入的(当一段剧情过后,要清除一些角色,重订场景,再做一段新的剧情,这样背景图就会再次读入,可是这个时候就没有loading了。。。。)其实我觉得这个脚本思路方向上有点错误,应该做成可以用事件脚本调用的那种就更好了。。。这样就可以解决原地同场景过场的问题了。并且也可以让作者有选择的使用这个。。。不然没有需要这个的时候也有,真正要的时候反而没有用到。
不要小看偶哦~~偶可是雨血2和历史2的主系统哦
回复 支持 反对

使用道具 举报

Lv1.梦旅人

龙皇

梦石
0
星屑
50
在线时间
83 小时
注册时间
2007-8-8
帖子
2956
16
发表于 2008-9-28 00:16:38 | 只看该作者
其实我们好像都误会这个脚本的功能了!
误会秀秀这一句......

功能: 实现了场景转换用 NowLonding 画面来读取数据......

这里的场景转换並非指的是事件中的场所移动
是指$scene的转换,换句话说.....
MS游戏如果执行到$scene = ****.new时,就会有NowLonding效果


之所以场所移动沒调用NowLonding效果
因为游戏这之间都是在$scene=Scene_Map.new下。

                签名图来自:無限のファンタジア
                 我的RMXP专题空间--龙使传说
回复 支持 反对

使用道具 举报

Lv1.梦旅人

辉瑞中国首席研究员<

梦石
0
星屑
50
在线时间
142 小时
注册时间
2008-1-18
帖子
2129
17
发表于 2008-9-28 00:44:22 | 只看该作者
以下引用灯笼菜刀王于2008-9-26 21:44:55的发言:

所以了? @@ori.call(*args)这里的@@ori是引用了method的方法还是 Graphics的方法?

抱歉= =,DBSHY君的那些文字组合给我的信息好象有反作用~~~

本来我根据夏娜殿的解说,@@ori.call应该是引用了method的方法~~现在觉得好象自己理解错了...

= =我现在想知道这部分内容是属于什么的~,F1里搜不到帮助,我怕这样下去我的问题会越来越多~~,还是系统的完整学比较好....


你如果不理解的话,看成跟 实例变量 一样,不过还是有区别
类变量是一种被类、子类以及它们的实例所共享的全局变量

method 是将self的方法对象化后得到方法对象,封装了方法
@ORZ.CALL 是运行封装在 方法对象 中的 方法

PS:问题越来越多,去提问区去问吧,感觉答这样的问题比新手问题简单的多 XD
来6r就是等某位仁兄的巨坑

褴褛着身行无端,囊中羞涩空心酸。
平生几无得意事,倒塔泡面宅寝室。
惟羡隔壁高帅富,雨露春风月夜声。
青丝无处觅其踪,只有硬盘苍井空。
莫云男儿空悲愁,鸿鹄岂不天际游。
坐断天下执鹿首,千百金帛万兜鍪。
夜深忽梦某年月,再见女神欲语迟。
吊丝终有逆袭日,木耳再无回粉时。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
5 小时
注册时间
2008-6-28
帖子
292
18
发表于 2008-9-28 01:34:47 | 只看该作者
其实我们好像都误会这个脚本的功能了!
误会秀秀这一句......


功能: 实现了场景转换用 NowLonding 画面来读取数据......

这里的场景转换並非指的是事件中的场所移动
是指$scene的转换,换句话说.....
MS游戏如果执行到$scene = ****.new时,就会有NowLonding效果

--------------------------------------------------------------------------------

之所以场所移动沒调用NowLonding效果,
因为游戏这之间都是在$scene=Scene_Map.new下。

问题我倒不是误会了,其实我解决了这个问题,就是在要调用的时候用事件脚本写上
$scene = nil
$scene=Scene_Map.new

强行中断场景就可以在同样的地图场景中随时调用了,同场景的事件中照旧可以使用,不过问题就是就算是调用过后还是没有完全显示背景图,脚本上没有卡住。。。哎。。和我的想像中不太一样啊。。。。。。并不是说这个脚本不好。。。只是没有解决我的问题而已。你知道我不是来学习这个而是要真正想把这个脚本应用起来的。。。。。。。loading最重要是卡住和调用过后完全显示图片(当然也要显示其他的东西了,不过我就想要显示大型的背景图就可以了,其他的都非常容易显示)。。。。。用尽了一切脚本的事件的方法还是没有在这个脚本的架构内完全解决问题。。。可惜。。。
不要小看偶哦~~偶可是雨血2和历史2的主系统哦
回复 支持 反对

使用道具 举报

Lv1.梦旅人

逃兵

19
发表于 2008-9-28 20:55:52 | 只看该作者
以下引用TERENCE于2008-9-26 9:06:19的发言:

秀秀殿
可不可以加上一个游戏开关来控制.....
想用NowLonding的时候就把开关给ON
不想用时则反之为OFF....
这样活用的空间可以更广,
才不会每次场景转换都用 NowLonding 画面


这里:if self.method_defined? :main
改为:if self.method_defined?(:main) and $g_v[X] # 某开关对应的脚本

「If you judge people, you have no time to love them.」—— Mother Teresa
回复 支持 反对

使用道具 举报

Lv1.梦旅人

逃兵

20
发表于 2008-9-28 21:00:12 | 只看该作者
以下引用灯笼菜刀王于2008-9-26 21:44:55的发言:

所以了? @@ori.call(*args)这里的@@ori是引用了method的方法还是 Graphics的方法?

抱歉= =,DBSHY君的那些文字组合给我的信息好象有反作用~~~

本来我根据夏娜殿的解说,@@ori.call应该是引用了method的方法~~现在觉得好象自己理解错了...

= =我现在想知道这部分内容是属于什么的~,F1里搜不到帮助,我怕这样下去我的问题会越来越多~~,还是系统的完整学比较好....


我来解释一下脚本好了……

module Graphics
# 利用"method"方法将原"transition"方法储存至类变量@@ori
@@ori = method("transition")
# 定义新的transition方法
def self.transition(*args)
    # 调用StartNowLondingTr模块的stop
    StartNowLondingTr.stop
    # 调用原"transition"方法
    @@ori.call(*args)
end  
end  

「If you judge people, you have no time to love them.」—— Mother Teresa
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 10:55

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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