查看: 8492|回复: 21

NowLoading v0.1

  [复制链接]

粉蜘蛛秀秀

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

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

发表于 2008-9-26 07:48:33 | 显示全部楼层 |阅读模式

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

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

×
=begin

  NowLoading v0.1
  
  作者:秀秀
  
  功能: 实现了场景转换用 NowLonding 画面来读取数据 图片可以自定义
  
        StartNowLondingTr模块的self.start里面的 随便定义多少张图都可以
        
        别忘记释放= =
        
        默认用了黑色矩形填充

  使用方法:把脚本最下面的 main 一兰里的 Graphics.freeze 注释掉
  
            否则会因为画面冻结而显示不出标题的 NowLonding 画面

=end

module Graphics
  @@ori = method("transition")
  def self.transition(*args)
     StartNowLondingTr.stop
     @@ori.call(*args)
  end  
end  

module StartNowLondingTr
  def self.start
    @start = Thread.new do
      @nowLsprite = Sprite.new
      @nowLbitmap = Bitmap.new(640,480)
      @nowLsprite.bitmap = @nowLbitmap
      @nowLsprite.bitmap.fill_rect(0,0,640,480,Color.new(0,0,0,255))
      @nowLsprite.x = 0
      @nowLsprite.y = 0
      @nowLsprite.z = 99999999
      @nowLsprite.visible = true
      @nowLsprite.bitmap.draw_text(400,420,200,60,"NOW LONDING...")
      loop do
        sleep 0.001
        Graphics.update
      end
    end
  end
  def self.stop
    @start.exit
    @nowLsprite.dispose
    @nowLsprite.bitmap.dispose
  end
end

class Class
  alias ori_new new
  def new(*args)
    if self.method_defined? :main
      StartNowLondingTr.start
      @obj =  ori_new(*args)
      return @obj
    else
      return ori_new(*args)
    end
  end
end
http://rpg.blue/upload_program/files/hide_xiu_96911465.png
梦石
3
星屑
50
在线时间
177 小时
注册时间
2008-3-21
回帖
712
发表于 2008-9-26 07:57:19 | 显示全部楼层
囧了。。。Orz这个{/gg},,,不过场景转换效果很不错滴{/tp}
我的个人空间:
http://434986751.qzone.qq.com
回复

使用道具 举报

梦石
0
星屑
42235
在线时间
6017 小时
注册时间
2006-11-10
回帖
6966
发表于 2008-9-26 10:33:29 | 显示全部楼层
我来拜一下这个@nowLsprite.z = 99999999....

难得秀秀殿发布我看得懂的东西= =.....

不过虽然这样,还是有几个地方不懂...
module Graphics
@@ori = method("transition")
def self.transition(*args)
    StartNowLondingTr.stop
    @@ori.call(*args) end  
end  
红色的部分不能理解...= = 能不能解释下~~
回复

使用道具 举报

炎发灼眼的讨伐

梦石
0
星屑
50
在线时间
1707 小时
注册时间
2007-8-4
回帖
894
发表于 2008-9-26 15:20:16 | 显示全部楼层
以下引用灯笼菜刀王于2008-9-26 2:33:29的发言:


module Graphics
@@ori = method("transition")
def self.transition(*args)
   StartNowLondingTr.stop
  @@ori.call(*args) end  
end  


method -> 返回一个方法对象 @@ori... 这个对象常用的方法有,
1、call:调用方法,用指定的参数
2、arity:获取方法的参数个数。。。

这里先获取原来 transition 的 方法 到@@ori,  然后重定义了 transition, 然后用@@ori.call(参数)调用原来的transition方法。。。
*args  这是ruby的不定个数参数形式。。。

*号处于定义方法时参数的位置时用于标示这是一个不定参数,然后args是一个数组

*号处于调用方法时参数的位置时用于将数组展开,比如 [1,2,3] : *[1,2,3] ->1,2,3
RMXP&RMVX通用Web化完成- -|||
回复

使用道具 举报

龙皇

梦石
0
星屑
50
在线时间
83 小时
注册时间
2007-8-8
回帖
2623
发表于 2008-9-26 17:06:19 | 显示全部楼层
秀秀殿
可不可以加上一个游戏开关来控制.....
想用NowLonding的时候就把开关给ON
不想用时则反之为OFF....
这样活用的空间可以更广,
才不会每次场景转换都用 NowLonding 画面

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

使用道具 举报

青天

梦石
0
星屑
86
在线时间
232 小时
注册时间
2007-12-15
回帖
2013

开拓者

发表于 2008-9-26 17:31:47 | 显示全部楼层
恩,先谢谢秀秀前辈。再问下和龙皇同志同样的问题,能解决吗?
开坑准备中
回复

使用道具 举报

穿越一季:朔

梦石
0
星屑
50
在线时间
333 小时
注册时间
2007-4-11
回帖
5052

贵宾

发表于 2008-9-26 19:26:47 | 显示全部楼层
你还真写了LOADING....
貌似不是大型素材就用不上...
我是尽量不让地图过渡时间出现在1秒以上...{/gg}
6R复活?别扯淡了.

柳柳一旦接手66RPG,我果断呵呵啊。
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-9-14
回帖
142
发表于 2008-9-27 01:48:49 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

静

梦石
0
星屑
49
在线时间
157 小时
注册时间
2007-12-16
回帖
3031
发表于 2008-9-27 01:50:55 | 显示全部楼层
秀秀啊
MS是loading吧。。。
回复

使用道具 举报

梦石
0
星屑
42235
在线时间
6017 小时
注册时间
2006-11-10
回帖
6966
发表于 2008-9-27 02:59:59 | 显示全部楼层
以下引用灼眼的夏娜于2008-9-26 7:20:16的发言:
method -> 返回一个方法对象 @@ori... 这个对象常用的方法有,
1、call:调用方法,用指定的参数
2、arity:获取方法的参数个数。。。

这里先获取原来 transition 的 方法 到@@ori,  然后重定义了 transition, 然后用@@ori.call(参数)调用原来的transition方法。。。
*args  这是ruby的不定个数参数形式。。。

*号处于定义方法时参数的位置时用于标示这是一个不定参数,然后args是一个数组

*号处于调用方法时参数的位置时用于将数组展开,比如 [1,2,3] : *[1,2,3] ->1,2,3

感谢夏娜殿的解说~~~

这些在F1里都查不到~  不过按目前我的程度只理解了“这里先获取原来 transition 的 方法 到@@ori,  然后重定义了 transition, 然后用@@ori.call(参数)调用原来的transition方法。。。”这段....,和 Proc.new 的CALL是一样的吧?(前几天刚涉及的东东,现在还是一知半解的= =)

现在记得 *XXX 是不定个数参数。 *[X,X,X]是将参数展开~ (记是记下了,原理和作用还不解= =,要慢慢消化...)

还有个没弄清楚。

@@XXX 这个语法是什么意思呢? 一个@是在同一类中通用的变量,两个@是什么...在一些很抽象的效果脚本中- -b经常可以看到这个~
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部