Project1

标题: 求人改NowLonding脚本 [打印本页]

作者: angelwangm    时间: 2009-1-17 06:25
标题: 求人改NowLonding脚本
下面这个切换地图显示NowLonding的脚本,求人帮我改一下,切换场景加三张背景图片随即显示,名字随便起,就叫背景1 背景2 背景3 就行

{/cy}

=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 [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: asperta    时间: 2009-1-17 10:39
在Pictures文件夹里放 背景1 背景2 背景3 三张图片
  1. =begin
  2. NowLoading v0.1
  3. 作者:秀秀
  4. 功能: 实现了场景转换用 NowLonding 画面来读取数据 图片可以自定义
  5.       StartNowLondingTr模块的self.start里面的 随便定义多少张图都可以     
  6.       别忘记释放= =      
  7.       默认用了黑色矩形填充
  8. 使用方法:把脚本最下面的 main 一兰里的 Graphics.freeze 注释掉
  9.           否则会因为画面冻结而显示不出标题的 NowLonding 画面
  10. =end

  11. module Graphics
  12. @@ori = method("transition")
  13. def self.transition(*args)
  14.    StartNowLondingTr.stop
  15.    @@ori.call(*args)
  16. end  
  17. end  

  18. module StartNowLondingTr
  19. def self.start
  20.   @start = Thread.new do
  21.     @nowLsprite = Sprite.new
  22.     case rand(3)
  23.     when 0
  24.       @nowLsprite.bitmap = RPG::Cache.picture("背景1")
  25.     when 1  
  26.       @nowLsprite.bitmap = RPG::Cache.picture("背景2")
  27.     when 2  
  28.       @nowLsprite.bitmap = RPG::Cache.picture("背景3")
  29.     end
  30.     @nowLsprite.x = 0
  31.     @nowLsprite.y = 0
  32.     @nowLsprite.z = 99999999
  33.     @nowLsprite.visible = true
  34.     loop do
  35.       sleep 0.001
  36.       Graphics.update
  37.     end
  38.   end
  39. end
  40. def self.stop
  41.   @start.exit
  42.   @nowLsprite.dispose
  43.   @nowLsprite.bitmap.dispose
  44. end
  45. end

  46. class Class
  47. alias ori_new new
  48. def new(*args)
  49.   if self.method_defined? :main
  50.     StartNowLondingTr.start
  51.     @obj =  ori_new(*args)
  52.     return @obj
  53.   else
  54.     return ori_new(*args)
  55.   end
  56. end
  57. end

复制代码
[LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: angelwangm    时间: 2009-1-17 18:09
谢谢啊{/cy}




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1