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

Project1

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

NowLoading v0.1

 关闭 [复制链接]

Lv1.梦旅人

粉蜘蛛秀秀

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

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

跳转到指定楼层
1
发表于 2008-9-26 07:48:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
=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

Lv3.寻梦者

梦石
3
星屑
50
在线时间
177 小时
注册时间
2008-3-21
帖子
939
2
发表于 2008-9-26 07:57:19 | 只看该作者
囧了。。。Orz这个{/gg},,,不过场景转换效果很不错滴{/tp}
我的个人空间:
http://434986751.qzone.qq.com
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
39034
在线时间
5725 小时
注册时间
2006-11-10
帖子
6622
3
发表于 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  
红色的部分不能理解...= = 能不能解释下~~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

炎发灼眼的讨伐者

梦石
0
星屑
50
在线时间
1707 小时
注册时间
2007-8-4
帖子
904
4
发表于 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化完成- -|||
回复 支持 反对

使用道具 举报

Lv1.梦旅人

龙皇

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

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

使用道具 举报

Lv1.梦旅人

青天

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

开拓者

6
发表于 2008-9-26 17:31:47 | 只看该作者
恩,先谢谢秀秀前辈。再问下和龙皇同志同样的问题,能解决吗?
开坑准备中
回复 支持 反对

使用道具 举报

Lv1.梦旅人

穿越一季:朔

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

贵宾

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

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

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-9-14
帖子
155
8
发表于 2008-9-27 01:48:49 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
157 小时
注册时间
2007-12-16
帖子
3454
9
发表于 2008-9-27 01:50:55 | 只看该作者
秀秀啊
MS是loading吧。。。
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
39034
在线时间
5725 小时
注册时间
2006-11-10
帖子
6622
10
发表于 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经常可以看到这个~
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-2 11:52

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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