Project1

标题: 简易天气 - Demo[XP·VX·RGE](Update!) [打印本页]

作者: 忧雪の伤    时间: 2011-6-25 20:40
标题: 简易天气 - Demo[XP·VX·RGE](Update!)
本帖最后由 忧雪の伤 于 2011-6-26 10:45 编辑




预览:





范例:
Weather.rar (204.69 KB, 下载次数: 1684) (For XP)




脚本:
  1. #==============================================================================
  2. # ** Weather
  3. #------------------------------------------------------------------------------
  4. #   - Version(1.0.06.26).
  5. #==============================================================================

  6. class Weather
  7.   #--------------------------------------------------------------------------
  8.   MOD = Module.constants.include?('RGE') ? :Frame : :Graphics
  9.   #--------------------------------------------------------------------------
  10.   attr_reader('max')
  11.   attr_accessor('fade')
  12.   attr_accessor('speed')
  13.   attr_accessor('direction')
  14.   #--------------------------------------------------------------------------
  15.   [:z, :color, :bitmap, :visible].each do |sym|
  16.     ary = :sprites
  17.     method = :define_method
  18.     eval("#{method}('#{sym}='){|#{sym}|@#{ary}.each{|obj|obj.#{sym}=#{sym}}}")
  19.   end
  20.   #--------------------------------------------------------------------------
  21.   #--------------------------------------------------------------------------
  22.   # * Initialize
  23.   #--------------------------------------------------------------------------
  24.   def initialize(arg = 40)
  25.     @max = arg
  26.     @speed = 0
  27.     @sprites = []
  28.     @fade = false
  29.     @direction = 0
  30.     {:width => 640, :height => 480}.each do |sym, var|
  31.       eval("@#{sym}=#{MOD}.methods.include?('#{sym}')?#{MOD}.#{sym} : #{var}")
  32.     end
  33.     @max.times { @sprites.push(Sprite.new) }
  34.     @sprites.each {|sprite| sprite.x = rand(@width) }
  35.     @sprites.each {|sprite| sprite.y = -rand(@height) }
  36.   end
  37.   #--------------------------------------------------------------------------
  38.   # * Update
  39.   #--------------------------------------------------------------------------
  40.   def update
  41.     fall
  42.     revert
  43.   end
  44.   #--------------------------------------------------------------------------
  45.   # * Dispose
  46.   #--------------------------------------------------------------------------
  47.   def dispose
  48.     @sprites.each {|sprite| sprite.dispose }
  49.   end
  50.   #--------------------------------------------------------------------------
  51.   # * Zoom
  52.   #--------------------------------------------------------------------------
  53.   def zoom=(zoom)
  54.     @sprites.each {|sprite| sprite.zoom_x = sprite.zoom_y = zoom }
  55.   end
  56.   #--------------------------------------------------------------------------
  57.   # * Fall
  58.   #--------------------------------------------------------------------------
  59.   def fall
  60.     @sprites.each {|sprite| sprite.y = sprite.y + rand(@speed) + 1 }
  61.     @sprites.each {|sprite| sprite.x = sprite.x + rand(2) * @direction }
  62.     return unless @fade
  63.     @sprites.each do |sprite|
  64.       opacity = @width - 255
  65.       sprite.opacity = sprite.y < opacity ? opacity - sprite.y : 0
  66.     end
  67.   end
  68.   #--------------------------------------------------------------------------
  69.   # * Revert
  70.   #--------------------------------------------------------------------------
  71.   def revert
  72.     @sprites.each  do |sprite|
  73.       next if sprite.y < @height and sprite.x.between?(0, @width)
  74.       x = rand(@width)
  75.       y = -sprite.bitmap.rect.height
  76.       sprite.x, sprite.y, sprite.opacity = x, y, 255  
  77.     end
  78.   end
  79. end
复制代码

作者: DeathKing    时间: 2011-6-25 20:52
挂了3个系统做兼容啊……还真是辛苦你了。
作者: 忧雪の伤    时间: 2011-6-25 21:02
DeathKing 发表于 2011-6-25 20:52
挂了3个系统做兼容啊……还真是辛苦你了。

实际上是在玩RGE的时候写的啦……兼容一直都有研究。方法也很多。


忧雪の伤于2011-6-26 10:46补充以下内容:
更新自顶。
作者: liqunsz    时间: 2011-6-26 22:06
我还以为是旧货复活了呢> < ,不过还是支持雪姐姐wwwww
作者: 菜鸟飞呀飞    时间: 2011-6-26 22:35
提示: 作者被禁止或删除 内容自动屏蔽
作者: 冰舞蝶恋    时间: 2011-6-28 11:56
有FOR VX 的么..忧雪姐~www
作者: 仲秋启明    时间: 2011-6-28 15:47
帮你做个VX范例
Weather.rar (240.21 KB, 下载次数: 368)
作者: 越前リョーマ    时间: 2011-7-1 23:52
只能下雪?怎么调用也没看到……

还有个问题,打开菜单后,雪就固定了,而且还在菜单之上,退出后雪没消失。反复几次之前的雪会有部分消失……咳咳
作者: 510035021    时间: 2011-7-2 08:14
怎么用嘞,没说明
作者: 忧雪の伤    时间: 2011-7-2 12:50
越前リョーマ 发表于 2011-7-1 23:52
只能下雪?怎么调用也没看到……

还有个问题,打开菜单后,雪就固定了,而且还在菜单之上,退出后雪没消失 ...

可以自己改bitmap哦。
作者: jin878404951    时间: 2011-9-9 18:46
做的不错  俺是新手  拿走了  赞一个  顶:lol
作者: bart1991    时间: 2013-1-16 23:40
看的 有点头痛




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