| 
 
| 赞 | 5 |  
| VIP | 5 |  
| 好人卡 | 24 |  
| 积分 | 1 |  
| 经验 | 29114 |  
| 最后登录 | 2016-5-9 |  
| 在线时间 | 226 小时 |  
 Lv1.梦旅人 
	梦石0 星屑50 在线时间226 小时注册时间2015-5-8帖子329 | 
| 個人感覺夠用了复制代码# 
# 项目名称:Global Weather System Script 全球天气系统脚本.
# 创建时间: 2009-12-9, 18:53:27
# 项目类型:RGSS Develop template
# 开发工具:Aptana RadRails 1.0
# 源文件名:Global weather system Script.rb
# 版本:1.0
# by Goldencolor .
#  
#==============================================================================
#  ▲Global Weather System Script   全球天气系统脚本.
#------------------------------------------------------------------------------
#
#  by Kitty and Mr.DJ With Goldencolor(GDC)
#  RPGXP适用。
#==============================================================================
# 使用方法:
#     $game_screen.weather(type, power, transition)
# 天气类型(type):
#      1- 雨                                          
#      2- 暴风雨                                        
#      3- 雪                                          
#      4- 冰雹                                              
#      5- 雨+雷+闪电               
#      6- 落下的树叶 (秋天)                           
#      7- 吹制留下 (秋天)
#      8- 摇晃树叶 (秋天)
#      9- 树叶 (绿色的)
#      10- 樱花花瓣(日本)
#      11- 玫瑰花瓣
#      12- 羽毛
#      13- 血雨
#      14- 闪耀
#      15- 自定义(用户)
#      16- 吹制雪
#      17- 流星雨
#      18- 灰烬
#      19- 泡沫
# 天气强度(power):  
#  标准(0..40)  每一点强度等于10个精灵 40=400。超过40以后后果很严重- -!!b
# 过渡帧(Transition):
#   帧数.(0..50)
# 
#------------------------------------------------------------------------------
$Goldencolor ={} if $GDCRGSS.nil?
$Goldencolor['Weather'] = true
#==============================================================================
#  用户自定义天气配置:
#==============================================================================
module ConfigWeather
  $WEATHER_UPDATE = false   # $WEATHER_IMAGES图片如果改变,是否更新
  $WEATHER_IMAGES =[]   # 用户自定义天气图片
  $WEATHER_X = 0            # 图像Y方向移动(positive = right, negative = left)
  $WEATHER_Y = 0            # 图像Y方向移动(positive = down, negative = up)
  $WEATHER_FADE = 0         # 褪色(0..255)
  $WEATHER_ANIMATED = false # 是否循环一直自定义图片
end
#定义
module RPG
  #==============================================================================
  #  ■ Weather
  #------------------------------------------------------------------------------
  #  处理天气的类。
  #==============================================================================  
  class Weather
    include ConfigWeather
    #--------------------------------------------------------------------------
    # ● 初始化对象
    #--------------------------------------------------------------------------    
    def initialize(viewport = nil)
      @type = 0
      @max = 0
      @ox = 0
      @oy = 0
      @count = 0
      @current_pose = []
      @info = []
      @countarray = []
      #创造位图
      make_bitmaps
      #循环精灵
      for i in 1..500
        sprite = Sprite.new(viewport)
        sprite.z = 1000
        sprite.visible = false
        sprite.opacity = 0
        @sprites.push(sprite)
        @current_pose.push(0)
        @info.push(rand(50))
        @countarray.push(rand(15))
      end
    end
    #===========================================================================
    # ● 释放
    #===========================================================================
    def dispose
      for sprite in @sprites
        sprite.dispose
      end
      @rain_bitmap.dispose
      @storm_bitmap.dispose
      @snow_bitmap.dispose
      @hail_bitmap.dispose
      @petal_bitmap.dispose
      @blood_rain_bitmap.dispose
      for image in @autumn_leaf_bitmaps
        image.dispose
      end
      for image in @green_leaf_bitmaps
        image.dispose
      end
      for image in @rose_bitmaps
        image.dispose
      end
      for image in @feather_bitmaps
        image.dispose
      end
      for image in @sparkle_bitmaps
        image.dispose
      end
      for image in @user_bitmaps
        image.dispose
      end
      $WEATHER_UPDATE = true
    end
  #--------------------------------------------------------------------------
  # ● 分歧类型
  #--------------------------------------------------------------------------
    def type=(type)
      return if @type == type
      @type = type
      case @type
        when 1 # 雨
        bitmap = @rain_bitmap
        when 2 # 暴风雨
        bitmap = @storm_bitmap
        when 3 # 雪
        bitmap = @snow_bitmap
        when 4 # 冰雹
        bitmap = @hail_bitmap
        when 5 # 雨+雷+闪电
        bitmap = @rain_bitmap
        @thunder = true
        when 6 # 落下的树叶 (秋天)
        bitmap = @autumn_leaf_bitmaps[0]
        when 7 # 吹花瓣(秋天)
        bitmap = @autumn_leaf_bitmaps[0]
        when 8 #摇晃树叶 (秋天)
        bitmap = @autumn_leaf_bitmaps[0]
        when 9 #树叶 (绿色的)
        bitmap = @green_leaf_bitmaps[0]
        when 10 # 樱花花瓣(日本)
        bitmap = @petal_bitmap
        when 11 # 玫瑰花瓣
        bitmap = @rose_bitmaps[0]
        when 12 # 羽毛
        bitmap = @feather_bitmaps[0]
        when 13 # 血雨
        bitmap = @blood_rain_bitmap
        when 14 # 闪耀
        bitmap = @sparkle_bitmaps[0]
        when 15 # 自定义(用户)
        bitmap = @user_bitmaps[rand(@user_bitmaps.size)]
        when 16 # 吹制雪
        bitmap = @snow_bitmap
        when 17 # 流星雨
        bitmap = @meteor_bitmap
        when 18 # 落下灰
        bitmap = @ash_bitmaps[rand(@ash_bitmaps.size)]
        when 19 # 泡沫
        bitmap = @bubble_bitmaps[rand(@bubble_bitmaps.size)]
      else
        bitmap = nil
      end
      if @type != 5
        @thunder = false
      end
      for i in 1..500
        sprite = @sprites[i]
        if sprite != nil
          sprite.visible = (i <= @max)
          if @type == 19
            sprite.bitmap = @bubble_bitmaps[rand(@bubble_bitmaps.size)]
          else
            sprite.bitmap = bitmap
          end
        end
      end
    end
    def ox=(ox)
      return if @ox == ox;
      @ox = ox
      for sprite in @sprites
        sprite.ox = @ox
      end
    end
    def oy=(oy)
      return if @oy == oy;
      @oy = oy
      for sprite in @sprites
        sprite.oy = @oy
      end
    end
    def max=(max)
      return if @max == max;
      @max = [[max, 0].max, 500].min
      for i in 1..500
        sprite = @sprites[i]
        if sprite != nil
          sprite.visible = (i <= @max)
        end
      end
    end
    #--------------------------------------------------------------------------
    # ● 刷新
    #--------------------------------------------------------------------------
    def update
      return if @type == 0
      for i in 1..@max
        sprite = @sprites[i]
        if sprite == nil
          break
        end
        if @type == 1 or @type == 5 or @type == 13 # 雨
          sprite.x -= 2
          sprite.y += 16
          sprite.opacity -= 8
          if @thunder and (rand(8000 - @max) == 0)
            $game_screen.start_flash(Color.new(255, 255, 255, 255), 5)
            Audio.se_play("Audio/SE/061-Thunderclap01")
          end
        end
        if @type == 2 # 暴风雨
          sprite.x -= 8
          sprite.y += 16
          sprite.opacity -= 12
        end
        if @type == 3 # 雪
          sprite.x -= 2
          sprite.y += 8
          sprite.opacity -= 8
        end
        if @type == 4 # 冰雹
          sprite.x -= 1
          sprite.y += 18
          sprite.opacity -= 15
        end
        if @type == 6 # 落下的树叶 (秋天)
          @count = rand(20)
          if @count == 0
            sprite.bitmap = @autumn_leaf_bitmaps[@current_pose[i]]
            @current_pose[i] = (@current_pose[i] + 1) % @autumn_leaf_bitmaps.size
          end
          sprite.x -= 1
          sprite.y += 1
        end
        if @type == 7 # 吹花瓣(秋天)
          @count = rand(20)
          if @count == 0
            sprite.bitmap = @autumn_leaf_bitmaps[@current_pose[i]]
            @current_pose[i] = (@current_pose[i] + 1) % @autumn_leaf_bitmaps.size
          end
          sprite.x -= 10
          sprite.y += (rand(4) - 2)
        end
        if @type == 8 #摇晃树叶 (秋天)
          @count = rand(20)
          if @count == 0
            sprite.bitmap = @autumn_leaf_bitmaps[@current_pose[i]]
            @current_pose[i] = (@current_pose[i] + 1) % @autumn_leaf_bitmaps.size
          end
          if @info[i] != 0
            if @info[i] >= 1 and @info[i] <= 10
              sprite.x -= 3
              sprite.y -= 1
            elsif @info[i] >= 11 and @info[i] <= 16
              sprite.x -= 1
              sprite.y -= 2
            elsif @info[i] >= 17 and @info[i] <= 20
              sprite.y -= 3
            elsif @info[i] >= 21 and @info[i] <= 30
              sprite.y -= 2
              sprite.x += 1
            elsif @info[i] >= 31 and @info[i] <= 36
              sprite.y -= 1
              sprite.x += 3
            elsif @info[i] >= 37 and @info[i] <= 40
              sprite.x += 5
            elsif @info[i] >= 41 and @info[i] <= 46
              sprite.y += 1
              sprite.x += 3
            elsif @info[i] >= 47 and @info[i] <= 58
              sprite.y += 2
              sprite.x += 1
            elsif @info[i] >= 59 and @info[i] <= 64
              sprite.y += 3
            elsif @info[i] >= 65 and @info[i] <= 70
              sprite.x -= 1
              sprite.y += 2
            elsif @info[i] >= 71 and @info[i] <= 81
              sprite.x -= 3
              sprite.y += 1
            elsif @info[i] >= 82 and @info[i] <= 87
              sprite.x -= 5
            end
            @info[i] = (@info[i] + 1) % 88
          else
            if rand(200) == 0
              @info[i] = 1
            end
            sprite.x -= 5
            sprite.y += 1
          end
        end
        if @type == 9 # 落下的树叶 (绿色的)
          if @countarray[i] == 0
            @current_pose[i] = (@current_pose[i] + 1) % @green_leaf_bitmaps.size
            sprite.bitmap = @green_leaf_bitmaps[@current_pose[i]]
            @countarray[i] = rand(15)
          end
          @countarray[i] = (@countarray[i] + 1) % 15
          sprite.y += 1
        end
        if @type == 10 # 樱桃花 (sakura) 花瓣
          if @info[i] < 25
            sprite.x -= 1
          else
            sprite.x += 1
          end
          @info[i] = (@info[i] + 1) % 50
          sprite.y += 1
        end
        if @type == 11 # 玫瑰花的花瓣
          @count = rand(20)
          if @count == 0
            sprite.bitmap = @rose_bitmaps[@current_pose[i]]
            @current_pose[i] = (@current_pose[i] + 1) % @rose_bitmaps.size
          end
          if @info[i] % 2 == 0
            if @info[i] < 10
              sprite.x -= 1
            elsif 
              sprite.x += 1
            end
          end
          sprite.y += 1
        end
        if @type == 12 # 羽毛
          if @countarray[i] == 0
            @current_pose[i] = (@current_pose[i] + 1) % @feather_bitmaps.size
            sprite.bitmap = @feather_bitmaps[@current_pose[i]]
          end
          @countarray[i] = (@countarray[i] + 1) % 15
          if rand(100) == 0
            sprite.x -= 1
          end
          if rand(100) == 0
            sprite.y -= 1
          end
          if @info[i] < 50
            if rand(2) == 0
              sprite.x -= 1
            else
              sprite.y -= 1
            end
          else
            if rand(2) == 0
              sprite.x += 1
            else
              sprite.y += 1
            end
          end
          @info[i] = (@info[i] + 1) % 100
        end
        if @type == 14 # 闪耀(火花)
          if @countarray[i] == 0
            @current_pose[i] = (@current_pose[i] + 1) % @sparkle_bitmaps.size
            sprite.bitmap = @sparkle_bitmaps[@current_pose[i]]
          end
          @countarray[i] = (@countarray[i] + 1) % 15
          sprite.y += 1
          sprite.opacity -= 1
        end
        if @type == 15 # 自定义(用户)
          if $WEATHER_UPDATE
            update_user_defined
            $WEATHER_UPDATE = false
          end
          if $WEATHER_ANIMATED and @countarray[i] == 0
            @current_pose[i] = (@current_pose[i] + 1) % @user_bitmaps.size
            sprite.bitmap = @user_bitmaps[@current_pose[i]]
          end
          sprite.x += $WEATHER_X
          sprite.y += $WEATHER_Y
          sprite.opacity -= $WEATHER_FADE
        end
        if @type == 16 #吹制雪
          sprite.x -= 10
          sprite.y += 6
          sprite.opacity -= 4
        end
        if @type == 17 # 流星雨
          if @countarray[i] > 0
            if rand(20) == 0
              sprite.bitmap = @impact_bitmap
              @countarray[i] = -5
            else
              sprite.x -= 6
              sprite.y += 10
            end
          else
            @countarray[i] += 1
            if @countarray[i] == 0
              sprite.bitmap = @meteor_bitmap
              sprite.opacity = 0
              @count_array = 1
            end
          end
        end
        if @type == 18 # 灰
          sprite.y += 2
          case @countarray[i] % 3
            when 0
            sprite.x -= 1
            when 1
            sprite.x += 1
          end
        end
        if @type == 19 # 泡沫
          switch = rand(75) + rand(75) + 1
          if @info[i] < switch / 2
            sprite.x -= 1
          else
            sprite.x += 1
          end
          @info[i] = (@info[i] + 1) % switch
          sprite.y -= 1
          if switch % 2 == 0
            sprite.opacity -= 1
          end
        end
        x = sprite.x - @ox
        y = sprite.y - @oy
        if sprite.opacity < 64 or x < -50 or x > 750 or y < -300 or y > 500
          sprite.x = rand(800) - 50 + @ox
          sprite.y = rand(800) - 200 + @oy
          sprite.opacity = 255
        end
      end
    end
    #创造位图
    def make_bitmaps
      #定义颜色
      color1 = Color.new(255, 255, 255, 255)
      color2 = Color.new(255, 255, 255, 128)
      @rain_bitmap = Bitmap.new(7, 56)
      for i in 0..6
        @rain_bitmap.fill_rect(6-i, i*8, 1, 8, color1)
      end
      @storm_bitmap = Bitmap.new(34, 64)
      for i in 0..31
        @storm_bitmap.fill_rect(33-i, i*2, 1, 2, color2)
        @storm_bitmap.fill_rect(32-i, i*2, 1, 2, color1)
        @storm_bitmap.fill_rect(31-i, i*2, 1, 2, color2)
      end
      @snow_bitmap = Bitmap.new(6, 6)
      @snow_bitmap.fill_rect(0, 1, 6, 4, color2)
      @snow_bitmap.fill_rect(1, 0, 4, 6, color2)
      @snow_bitmap.fill_rect(1, 2, 4, 2, color1)
      @snow_bitmap.fill_rect(2, 1, 2, 4, color1)
      @sprites = []
      blueGrey  = Color.new(215, 227, 227, 150)
      grey      = Color.new(214, 217, 217, 150)
      lightGrey = Color.new(233, 233, 233, 250)
      lightBlue = Color.new(222, 239, 243, 250)
      @hail_bitmap = Bitmap.new(4, 4)
      @hail_bitmap.fill_rect(1, 0, 2, 1, blueGrey)
      @hail_bitmap.fill_rect(0, 1, 1, 2, blueGrey)
      @hail_bitmap.fill_rect(3, 1, 1, 2, grey)
      @hail_bitmap.fill_rect(1, 3, 2, 1, grey)
      @hail_bitmap.fill_rect(1, 1, 2, 2, lightGrey)
      @hail_bitmap.set_pixel(1, 1, lightBlue)
      color3 = Color.new(255, 167, 192, 255)  
      color4 = Color.new(213, 106, 136, 255) 
      @petal_bitmap = Bitmap.new(4, 4)
      @petal_bitmap.fill_rect(0, 3, 1, 1, color3) 
      @petal_bitmap.fill_rect(1, 2, 1, 1, color3)
      @petal_bitmap.fill_rect(2, 1, 1, 1, color3)
      @petal_bitmap.fill_rect(3, 0, 1, 1, color3)
      @petal_bitmap.fill_rect(1, 3, 1, 1, color4)
      @petal_bitmap.fill_rect(2, 2, 1, 1, color4)
      @petal_bitmap.fill_rect(3, 1, 1, 1, color4)
      #定义部分颜色
      brightOrange = Color.new(248, 88, 0, 255)   
      orangeBrown  = Color.new(144, 80, 56, 255) 
      burntRed     = Color.new(152, 0, 0, 255) 
      paleOrange   = Color.new(232, 160, 128, 255) 
      darkBrown    = Color.new(72, 40, 0, 255)
      @autumn_leaf_bitmaps = []
      @autumn_leaf_bitmaps.push(Bitmap.new(8, 8))
      @autumn_leaf_bitmaps[0].set_pixel(5, 1, orangeBrown)
      @autumn_leaf_bitmaps[0].set_pixel(6, 1, brightOrange)
      @autumn_leaf_bitmaps[0].set_pixel(7, 1, paleOrange)
      @autumn_leaf_bitmaps[0].set_pixel(3, 2, orangeBrown)
      @autumn_leaf_bitmaps[0].fill_rect(4, 2, 2, 1, brightOrange)
      @autumn_leaf_bitmaps[0].set_pixel(6, 2, paleOrange)
      @autumn_leaf_bitmaps[0].set_pixel(2, 3, orangeBrown)
      @autumn_leaf_bitmaps[0].set_pixel(3, 3, brightOrange)
      @autumn_leaf_bitmaps[0].fill_rect(4, 3, 2, 1, paleOrange)
      @autumn_leaf_bitmaps[0].set_pixel(1, 4, orangeBrown)
      @autumn_leaf_bitmaps[0].set_pixel(2, 4, brightOrange)
      @autumn_leaf_bitmaps[0].set_pixel(3, 4, paleOrange)
      @autumn_leaf_bitmaps[0].set_pixel(1, 5, brightOrange)
      @autumn_leaf_bitmaps[0].set_pixel(2, 5, paleOrange)
      @autumn_leaf_bitmaps[0].set_pixel(0, 6, orangeBrown)
      @autumn_leaf_bitmaps[0].set_pixel(1, 6, paleOrange)
      @autumn_leaf_bitmaps[0].set_pixel(0, 7, paleOrange)
      @autumn_leaf_bitmaps.push(Bitmap.new(8, 8))
      @autumn_leaf_bitmaps[1].set_pixel(3, 0, brightOrange)
      @autumn_leaf_bitmaps[1].set_pixel(7, 0, brightOrange)
      @autumn_leaf_bitmaps[1].set_pixel(3, 1, orangeBrown)
      @autumn_leaf_bitmaps[1].set_pixel(4, 1, burntRed)
      @autumn_leaf_bitmaps[1].set_pixel(6, 1, brightOrange)
      @autumn_leaf_bitmaps[1].set_pixel(0, 2, paleOrange)
      @autumn_leaf_bitmaps[1].set_pixel(1, 2, brightOrange)
      @autumn_leaf_bitmaps[1].set_pixel(2, 2, orangeBrown)
      @autumn_leaf_bitmaps[1].set_pixel(3, 2, burntRed)
      @autumn_leaf_bitmaps[1].set_pixel(4, 2, orangeBrown)
      @autumn_leaf_bitmaps[1].set_pixel(5, 2, brightOrange)
      @autumn_leaf_bitmaps[1].fill_rect(1, 3, 3, 1, orangeBrown)
      @autumn_leaf_bitmaps[1].fill_rect(4, 3, 2, 1, brightOrange)
      @autumn_leaf_bitmaps[1].set_pixel(6, 3, orangeBrown)
      @autumn_leaf_bitmaps[1].set_pixel(2, 4, burntRed)
      @autumn_leaf_bitmaps[1].fill_rect(3, 4, 3, 1, brightOrange)
      @autumn_leaf_bitmaps[1].set_pixel(6, 4, burntRed)
      @autumn_leaf_bitmaps[1].set_pixel(7, 4, darkBrown)
      @autumn_leaf_bitmaps[1].set_pixel(1, 5, orangeBrown)
      @autumn_leaf_bitmaps[1].fill_rect(2, 5, 2, 1, brightOrange)
      @autumn_leaf_bitmaps[1].set_pixel(4, 5, orangeBrown)
      @autumn_leaf_bitmaps[1].set_pixel(5, 5, burntRed)
      @autumn_leaf_bitmaps[1].fill_rect(1, 6, 2, 1, brightOrange)
      @autumn_leaf_bitmaps[1].fill_rect(4, 6, 2, 1, burntRed)
      @autumn_leaf_bitmaps[1].set_pixel(0, 7, brightOrange)
      @autumn_leaf_bitmaps[1].set_pixel(5, 7, darkBrown)
      @autumn_leaf_bitmaps.push(Bitmap.new(8, 8))
      @autumn_leaf_bitmaps[2].set_pixel(7, 1, paleOrange)
      @autumn_leaf_bitmaps[2].set_pixel(6, 2, paleOrange)
      @autumn_leaf_bitmaps[2].set_pixel(7, 2, orangeBrown)
      @autumn_leaf_bitmaps[2].set_pixel(5, 3, paleOrange)
      @autumn_leaf_bitmaps[2].set_pixel(6, 3, brightOrange)
      @autumn_leaf_bitmaps[2].set_pixel(4, 4, paleOrange)
      @autumn_leaf_bitmaps[2].set_pixel(5, 4, brightOrange)
      @autumn_leaf_bitmaps[2].set_pixel(6, 4, orangeBrown)
      @autumn_leaf_bitmaps[2].fill_rect(2, 5, 2, 1, paleOrange)
      @autumn_leaf_bitmaps[2].set_pixel(4, 5, brightOrange)
      @autumn_leaf_bitmaps[2].set_pixel(5, 5, orangeBrown)
      @autumn_leaf_bitmaps[2].set_pixel(1, 6, paleOrange)
      @autumn_leaf_bitmaps[2].fill_rect(2, 6, 2, 1, brightOrange)
      @autumn_leaf_bitmaps[2].set_pixel(4, 6, orangeBrown)
      @autumn_leaf_bitmaps[2].set_pixel(0, 7, paleOrange)
      @autumn_leaf_bitmaps[2].set_pixel(1, 7, brightOrange)
      @autumn_leaf_bitmaps[2].set_pixel(2, 7, orangeBrown)
      @autumn_leaf_bitmaps.push(Bitmap.new(8, 8))
      @autumn_leaf_bitmaps[3].set_pixel(3, 0, brightOrange)
      @autumn_leaf_bitmaps[3].set_pixel(7, 0, brightOrange)
      @autumn_leaf_bitmaps[3].set_pixel(3, 1, orangeBrown)
      @autumn_leaf_bitmaps[3].set_pixel(4, 1, burntRed)
      @autumn_leaf_bitmaps[3].set_pixel(6, 1, brightOrange)
      @autumn_leaf_bitmaps[3].set_pixel(0, 2, paleOrange)
      @autumn_leaf_bitmaps[3].set_pixel(1, 2, brightOrange)
      @autumn_leaf_bitmaps[3].set_pixel(2, 2, orangeBrown)
      @autumn_leaf_bitmaps[3].set_pixel(3, 2, burntRed)
      @autumn_leaf_bitmaps[3].set_pixel(4, 2, orangeBrown)
      @autumn_leaf_bitmaps[3].set_pixel(5, 2, brightOrange)
      @autumn_leaf_bitmaps[3].fill_rect(1, 3, 3, 1, orangeBrown)
      @autumn_leaf_bitmaps[3].fill_rect(4, 3, 2, 1, brightOrange)
      @autumn_leaf_bitmaps[3].set_pixel(6, 3, orangeBrown)
      @autumn_leaf_bitmaps[3].set_pixel(2, 4, burntRed)
      @autumn_leaf_bitmaps[3].fill_rect(3, 4, 3, 1, brightOrange)
      @autumn_leaf_bitmaps[3].set_pixel(6, 4, burntRed)
      @autumn_leaf_bitmaps[3].set_pixel(7, 4, darkBrown)
      @autumn_leaf_bitmaps[3].set_pixel(1, 5, orangeBrown)
      @autumn_leaf_bitmaps[3].fill_rect(2, 5, 2, 1, brightOrange)
      @autumn_leaf_bitmaps[3].set_pixel(4, 5, orangeBrown)
      @autumn_leaf_bitmaps[3].set_pixel(5, 5, burntRed)
      @autumn_leaf_bitmaps[3].fill_rect(1, 6, 2, 1, brightOrange)
      @autumn_leaf_bitmaps[3].fill_rect(4, 6, 2, 1, burntRed)
      @autumn_leaf_bitmaps[3].set_pixel(0, 7, brightOrange)
      @autumn_leaf_bitmaps[3].set_pixel(5, 7, darkBrown)
      @green_leaf_bitmaps = []
      darkGreen  = Color.new(62, 76, 31, 255)
      midGreen   = Color.new(76, 91, 43, 255)
      khaki      = Color.new(105, 114, 66, 255)
      lightGreen = Color.new(128, 136, 88, 255)
      mint       = Color.new(146, 154, 106, 255)
      @green_leaf_bitmaps[0] = Bitmap.new(8, 8)
      @green_leaf_bitmaps[0].set_pixel(1, 0, darkGreen)
      @green_leaf_bitmaps[0].set_pixel(1, 1, midGreen)
      @green_leaf_bitmaps[0].set_pixel(2, 1, darkGreen)
      @green_leaf_bitmaps[0].set_pixel(2, 2, khaki)
      @green_leaf_bitmaps[0].set_pixel(3, 2, darkGreen)
      @green_leaf_bitmaps[0].set_pixel(4, 2, khaki)
      @green_leaf_bitmaps[0].fill_rect(2, 3, 3, 1, midGreen)
      @green_leaf_bitmaps[0].set_pixel(5, 3, khaki)
      @green_leaf_bitmaps[0].fill_rect(2, 4, 2, 1, midGreen)
      @green_leaf_bitmaps[0].set_pixel(4, 4, darkGreen)
      @green_leaf_bitmaps[0].set_pixel(5, 4, lightGreen)
      @green_leaf_bitmaps[0].set_pixel(6, 4, khaki)
      @green_leaf_bitmaps[0].set_pixel(3, 5, midGreen)
      @green_leaf_bitmaps[0].set_pixel(4, 5, darkGreen)
      @green_leaf_bitmaps[0].set_pixel(5, 5, khaki)
      @green_leaf_bitmaps[0].set_pixel(6, 5, lightGreen)
      @green_leaf_bitmaps[0].set_pixel(4, 6, midGreen)
      @green_leaf_bitmaps[0].set_pixel(5, 6, darkGreen)
      @green_leaf_bitmaps[0].set_pixel(6, 6, lightGreen)
      @green_leaf_bitmaps[0].set_pixel(6, 7, khaki)
      @green_leaf_bitmaps[1] = Bitmap.new(8, 8)
      @green_leaf_bitmaps[1].fill_rect(1, 1, 1, 2, midGreen)
      @green_leaf_bitmaps[1].fill_rect(2, 2, 2, 1, khaki)
      @green_leaf_bitmaps[1].set_pixel(4, 2, lightGreen)
      @green_leaf_bitmaps[1].fill_rect(2, 3, 2, 1, darkGreen)
      @green_leaf_bitmaps[1].fill_rect(4, 3, 2, 1, lightGreen)
      @green_leaf_bitmaps[1].set_pixel(2, 4, midGreen)
      @green_leaf_bitmaps[1].set_pixel(3, 4, darkGreen)
      @green_leaf_bitmaps[1].set_pixel(4, 4, khaki)
      @green_leaf_bitmaps[1].fill_rect(5, 4, 2, 1, lightGreen)
      @green_leaf_bitmaps[1].set_pixel(3, 5, midGreen)
      @green_leaf_bitmaps[1].set_pixel(4, 5, darkGreen)
      @green_leaf_bitmaps[1].set_pixel(5, 5, khaki)
      @green_leaf_bitmaps[1].set_pixel(6, 5, lightGreen)
      @green_leaf_bitmaps[1].set_pixel(5, 6, darkGreen)
      @green_leaf_bitmaps[1].fill_rect(6, 6, 2, 1, khaki)
      @green_leaf_bitmaps[2] = Bitmap.new(8, 8)
      @green_leaf_bitmaps[2].set_pixel(1, 1, darkGreen)
      @green_leaf_bitmaps[2].fill_rect(1, 2, 2, 1, midGreen)
      @green_leaf_bitmaps[2].set_pixel(2, 3, midGreen)
      @green_leaf_bitmaps[2].set_pixel(3, 3, darkGreen)
      @green_leaf_bitmaps[2].set_pixel(4, 3, midGreen)
      @green_leaf_bitmaps[2].fill_rect(2, 4, 2, 1, midGreen)
      @green_leaf_bitmaps[2].set_pixel(4, 4, darkGreen)
      @green_leaf_bitmaps[2].set_pixel(5, 4, lightGreen)
      @green_leaf_bitmaps[2].set_pixel(3, 5, midGreen)
      @green_leaf_bitmaps[2].set_pixel(4, 5, darkGreen)
      @green_leaf_bitmaps[2].fill_rect(5, 5, 2, 1, khaki)
      @green_leaf_bitmaps[2].fill_rect(4, 6, 2, 1, midGreen)
      @green_leaf_bitmaps[2].set_pixel(6, 6, lightGreen)
      @green_leaf_bitmaps[2].set_pixel(6, 7, khaki)
      @green_leaf_bitmaps[3] = Bitmap.new(8, 8)
      @green_leaf_bitmaps[3].fill_rect(0, 3, 1, 2, darkGreen)
      @green_leaf_bitmaps[3].set_pixel(1, 4, midGreen)
      @green_leaf_bitmaps[3].set_pixel(2, 4, khaki)
      @green_leaf_bitmaps[3].set_pixel(3, 4, lightGreen)
      @green_leaf_bitmaps[3].set_pixel(4, 4, darkGreen)
      @green_leaf_bitmaps[3].set_pixel(7, 4, midGreen)
      @green_leaf_bitmaps[3].set_pixel(1, 5, darkGreen)
      @green_leaf_bitmaps[3].set_pixel(2, 5, midGreen)
      @green_leaf_bitmaps[3].set_pixel(3, 5, lightGreen)
      @green_leaf_bitmaps[3].set_pixel(4, 5, mint)
      @green_leaf_bitmaps[3].set_pixel(5, 5, lightGreen)
      @green_leaf_bitmaps[3].set_pixel(6, 5, khaki)
      @green_leaf_bitmaps[3].set_pixel(7, 5, midGreen)
      @green_leaf_bitmaps[3].fill_rect(2, 6, 2, 1, midGreen)
      @green_leaf_bitmaps[3].set_pixel(4, 6, lightGreen)
      @green_leaf_bitmaps[3].set_pixel(5, 6, khaki)
      @green_leaf_bitmaps[3].set_pixel(6, 6, midGreen)
      @green_leaf_bitmaps[4] = Bitmap.new(8, 8)
      @green_leaf_bitmaps[4].set_pixel(6, 2, midGreen)
      @green_leaf_bitmaps[4].set_pixel(7, 2, darkGreen)
      @green_leaf_bitmaps[4].fill_rect(4, 3, 2, 1, midGreen)
      @green_leaf_bitmaps[4].set_pixel(6, 3, khaki)
      @green_leaf_bitmaps[4].set_pixel(2, 4, darkGreen)
      @green_leaf_bitmaps[4].fill_rect(3, 4, 2, 1, khaki)
      @green_leaf_bitmaps[4].set_pixel(5, 4, lightGreen)
      @green_leaf_bitmaps[4].set_pixel(6, 4, khaki)
      @green_leaf_bitmaps[4].set_pixel(1, 5, midGreen)
      @green_leaf_bitmaps[4].set_pixel(2, 5, khaki)
      @green_leaf_bitmaps[4].set_pixel(3, 5, lightGreen)
      @green_leaf_bitmaps[4].set_pixel(4, 5, mint)
      @green_leaf_bitmaps[4].set_pixel(5, 5, midGreen)
      @green_leaf_bitmaps[4].set_pixel(2, 6, darkGreen)
      @green_leaf_bitmaps[4].fill_rect(3, 6, 2, 1, midGreen)
      @green_leaf_bitmaps[5] = Bitmap.new(8, 8)
      @green_leaf_bitmaps[5].fill_rect(6, 2, 2, 1, midGreen)
      @green_leaf_bitmaps[5].fill_rect(4, 3, 2, 1, midGreen)
      @green_leaf_bitmaps[5].set_pixel(6, 3, khaki)
      @green_leaf_bitmaps[5].set_pixel(3, 4, midGreen)
      @green_leaf_bitmaps[5].set_pixel(4, 4, khaki)
      @green_leaf_bitmaps[5].set_pixel(5, 4, lightGreen)
      @green_leaf_bitmaps[5].set_pixel(6, 4, mint)
      @green_leaf_bitmaps[5].set_pixel(1, 5, midGreen)
      @green_leaf_bitmaps[5].set_pixel(2, 5, khaki)
      @green_leaf_bitmaps[5].fill_rect(3, 5, 2, 1, mint)
      @green_leaf_bitmaps[5].set_pixel(5, 5, lightGreen)
      @green_leaf_bitmaps[5].set_pixel(2, 6, midGreen)
      @green_leaf_bitmaps[5].set_pixel(3, 6, khaki)
      @green_leaf_bitmaps[5].set_pixel(4, 6, lightGreen)
      @green_leaf_bitmaps[6] = Bitmap.new(8, 8)
      @green_leaf_bitmaps[6].fill_rect(6, 1, 1, 2, midGreen)
      @green_leaf_bitmaps[6].fill_rect(4, 2, 2, 1, midGreen)
      @green_leaf_bitmaps[6].fill_rect(6, 2, 1, 2, darkGreen)
      @green_leaf_bitmaps[6].fill_rect(3, 3, 2, 1, midGreen)
      @green_leaf_bitmaps[6].set_pixel(5, 3, khaki)
      @green_leaf_bitmaps[6].set_pixel(2, 4, midGreen)
      @green_leaf_bitmaps[6].set_pixel(3, 4, khaki)
      @green_leaf_bitmaps[6].set_pixel(4, 4, lightGreen)
      @green_leaf_bitmaps[6].set_pixel(5, 4, midGreen)
      @green_leaf_bitmaps[6].set_pixel(1, 5, midGreen)
      @green_leaf_bitmaps[6].set_pixel(2, 5, khaki)
      @green_leaf_bitmaps[6].fill_rect(3, 5, 2, 1, midGreen)
      @green_leaf_bitmaps[6].set_pixel(1, 6, darkGreen)
      @green_leaf_bitmaps[6].set_pixel(2, 6, midGreen)
      @green_leaf_bitmaps[7] = Bitmap.new(8, 8)
      @green_leaf_bitmaps[7].set_pixel(6, 1, midGreen)
      @green_leaf_bitmaps[7].fill_rect(4, 2, 3, 2, midGreen)
      @green_leaf_bitmaps[7].set_pixel(3, 3, darkGreen)
      @green_leaf_bitmaps[7].set_pixel(2, 4, darkGreen)
      @green_leaf_bitmaps[7].set_pixel(3, 4, midGreen)
      @green_leaf_bitmaps[7].fill_rect(4, 4, 2, 1, khaki)
      @green_leaf_bitmaps[7].set_pixel(1, 5, darkGreen)
      @green_leaf_bitmaps[7].set_pixel(2, 5, midGreen)
      @green_leaf_bitmaps[7].fill_rect(3, 5, 2, 1, lightGreen)
      @green_leaf_bitmaps[7].set_pixel(2, 6, midGreen)
      @green_leaf_bitmaps[7].set_pixel(3, 6, lightGreen)
      @green_leaf_bitmaps[8] = Bitmap.new(8, 8)
      @green_leaf_bitmaps[8].fill_rect(6, 1, 1, 2, midGreen)
      @green_leaf_bitmaps[8].fill_rect(4, 2, 2, 1, midGreen)
      @green_leaf_bitmaps[8].fill_rect(6, 2, 1, 2, darkGreen)
      @green_leaf_bitmaps[8].fill_rect(3, 3, 2, 1, midGreen)
      @green_leaf_bitmaps[8].set_pixel(5, 3, khaki)
      @green_leaf_bitmaps[8].set_pixel(2, 4, midGreen)
      @green_leaf_bitmaps[8].set_pixel(3, 4, khaki)
      @green_leaf_bitmaps[8].set_pixel(4, 4, lightGreen)
      @green_leaf_bitmaps[8].set_pixel(5, 4, midGreen)
      @green_leaf_bitmaps[8].set_pixel(1, 5, midGreen)
      @green_leaf_bitmaps[8].set_pixel(2, 5, khaki)
      @green_leaf_bitmaps[8].fill_rect(3, 5, 2, 1, midGreen)
      @green_leaf_bitmaps[8].set_pixel(1, 6, darkGreen)
      @green_leaf_bitmaps[8].set_pixel(2, 6, midGreen)
      @green_leaf_bitmaps[9] = Bitmap.new(8, 8)
      @green_leaf_bitmaps[9].fill_rect(6, 2, 2, 1, midGreen)
      @green_leaf_bitmaps[9].fill_rect(4, 3, 2, 1, midGreen)
      @green_leaf_bitmaps[9].set_pixel(6, 3, khaki)
      @green_leaf_bitmaps[9].set_pixel(3, 4, midGreen)
      @green_leaf_bitmaps[9].set_pixel(4, 4, khaki)
      @green_leaf_bitmaps[9].set_pixel(5, 4, lightGreen)
      @green_leaf_bitmaps[9].set_pixel(6, 4, mint)
      @green_leaf_bitmaps[9].set_pixel(1, 5, midGreen)
      @green_leaf_bitmaps[9].set_pixel(2, 5, khaki)
      @green_leaf_bitmaps[9].fill_rect(3, 5, 2, 1, mint)
      @green_leaf_bitmaps[9].set_pixel(5, 5, lightGreen)
      @green_leaf_bitmaps[9].set_pixel(2, 6, midGreen)
      @green_leaf_bitmaps[9].set_pixel(3, 6, khaki)
      @green_leaf_bitmaps[9].set_pixel(4, 6, lightGreen)
      @green_leaf_bitmaps[10] = Bitmap.new(8, 8)
      @green_leaf_bitmaps[10].set_pixel(6, 2, midGreen)
      @green_leaf_bitmaps[10].set_pixel(7, 2, darkGreen)
      @green_leaf_bitmaps[10].fill_rect(4, 3, 2, 1, midGreen)
      @green_leaf_bitmaps[10].set_pixel(6, 3, khaki)
      @green_leaf_bitmaps[10].set_pixel(2, 4, darkGreen)
      @green_leaf_bitmaps[10].fill_rect(3, 4, 2, 1, khaki)
      @green_leaf_bitmaps[10].set_pixel(5, 4, lightGreen)
      @green_leaf_bitmaps[10].set_pixel(6, 4, khaki)
      @green_leaf_bitmaps[10].set_pixel(1, 5, midGreen)
      @green_leaf_bitmaps[10].set_pixel(2, 5, khaki)
      @green_leaf_bitmaps[10].set_pixel(3, 5, lightGreen)
      @green_leaf_bitmaps[10].set_pixel(4, 5, mint)
      @green_leaf_bitmaps[10].set_pixel(5, 5, midGreen)
      @green_leaf_bitmaps[10].set_pixel(2, 6, darkGreen)
      @green_leaf_bitmaps[10].fill_rect(3, 6, 2, 1, midGreen)
      @green_leaf_bitmaps[11] = Bitmap.new(8, 8)
      @green_leaf_bitmaps[11].fill_rect(0, 3, 1, 2, darkGreen)
      @green_leaf_bitmaps[11].set_pixel(1, 4, midGreen)
      @green_leaf_bitmaps[11].set_pixel(2, 4, khaki)
      @green_leaf_bitmaps[11].set_pixel(3, 4, lightGreen)
      @green_leaf_bitmaps[11].set_pixel(4, 4, darkGreen)
      @green_leaf_bitmaps[11].set_pixel(7, 4, midGreen)
      @green_leaf_bitmaps[11].set_pixel(1, 5, darkGreen)
      @green_leaf_bitmaps[11].set_pixel(2, 5, midGreen)
      @green_leaf_bitmaps[11].set_pixel(3, 5, lightGreen)
      @green_leaf_bitmaps[11].set_pixel(4, 5, mint)
      @green_leaf_bitmaps[11].set_pixel(5, 5, lightGreen)
      @green_leaf_bitmaps[11].set_pixel(6, 5, khaki)
      @green_leaf_bitmaps[11].set_pixel(7, 5, midGreen)
      @green_leaf_bitmaps[11].fill_rect(2, 6, 2, 1, midGreen)
      @green_leaf_bitmaps[11].set_pixel(4, 6, lightGreen)
      @green_leaf_bitmaps[11].set_pixel(5, 6, khaki)
      @green_leaf_bitmaps[11].set_pixel(6, 6, midGreen)
      @green_leaf_bitmaps[12] = Bitmap.new(8, 8)
      @green_leaf_bitmaps[12].set_pixel(1, 1, darkGreen)
      @green_leaf_bitmaps[12].fill_rect(1, 2, 2, 1, midGreen)
      @green_leaf_bitmaps[12].set_pixel(2, 3, midGreen)
      @green_leaf_bitmaps[12].set_pixel(3, 3, darkGreen)
      @green_leaf_bitmaps[12].set_pixel(4, 3, midGreen)
      @green_leaf_bitmaps[12].fill_rect(2, 4, 2, 1, midGreen)
      @green_leaf_bitmaps[12].set_pixel(4, 4, darkGreen)
      @green_leaf_bitmaps[12].set_pixel(5, 4, lightGreen)
      @green_leaf_bitmaps[12].set_pixel(3, 5, midGreen)
      @green_leaf_bitmaps[12].set_pixel(4, 5, darkGreen)
      @green_leaf_bitmaps[12].fill_rect(5, 5, 2, 1, khaki)
      @green_leaf_bitmaps[12].fill_rect(4, 6, 2, 1, midGreen)
      @green_leaf_bitmaps[12].set_pixel(6, 6, lightGreen)
      @green_leaf_bitmaps[12].set_pixel(6, 7, khaki)
      @rose_bitmaps = []
      brightRed = Color.new(255, 0, 0, 255)
      midRed    = Color.new(179, 17, 17, 255)
      darkRed   = Color.new(141, 9, 9, 255)
      @rose_bitmaps[0] = Bitmap.new(3, 3)
      @rose_bitmaps[0].fill_rect(1, 0, 2, 1, brightRed)
      @rose_bitmaps[0].fill_rect(0, 1, 1, 2, brightRed)
      @rose_bitmaps[0].fill_rect(1, 1, 2, 2, midRed)
      @rose_bitmaps[0].set_pixel(2, 2, darkRed)
      @rose_bitmaps[1] = Bitmap.new(3, 3)
      @rose_bitmaps[1].set_pixel(0, 1, midRed)
      @rose_bitmaps[1].set_pixel(1, 1, brightRed)
      @rose_bitmaps[1].fill_rect(1, 2, 1, 2, midRed)
      @feather_bitmaps = []
      white = Color.new(255, 255, 255, 255)
      @feather_bitmaps[0] = Bitmap.new(3, 3)
      @feather_bitmaps[0].set_pixel(0, 2, white)
      @feather_bitmaps[0].set_pixel(1, 2, grey)
      @feather_bitmaps[0].set_pixel(2, 1, grey)
      @feather_bitmaps[0] = Bitmap.new(3, 3)
      @feather_bitmaps[0].set_pixel(0, 0, white)
      @feather_bitmaps[0].set_pixel(0, 1, grey)
      @feather_bitmaps[0].set_pixel(1, 2, grey)
      @feather_bitmaps[0] = Bitmap.new(3, 3)
      @feather_bitmaps[0].set_pixel(2, 0, white)
      @feather_bitmaps[0].set_pixel(1, 0, grey)
      @feather_bitmaps[0].set_pixel(0, 1, grey)
      @feather_bitmaps[0] = Bitmap.new(3, 3)
      @feather_bitmaps[0].set_pixel(2, 2, white)
      @feather_bitmaps[0].set_pixel(2, 1, grey)
      @feather_bitmaps[0].set_pixel(1, 0, grey)
      @blood_rain_bitmap = Bitmap.new(7, 56)
      for i in 0..6
        @blood_rain_bitmap.fill_rect(6-i, i*8, 1, 8, darkRed)
      end
      @sparkle_bitmaps = []
      lightBlue = Color.new(181, 244, 255, 255)
      midBlue   = Color.new(126, 197, 235, 255)
      darkBlue  = Color.new(77, 136, 225, 255)
      @sparkle_bitmaps[0] = Bitmap.new(7, 7)
      @sparkle_bitmaps[0].set_pixel(3, 3, darkBlue)
      @sparkle_bitmaps[1] = Bitmap.new(7, 7)
      @sparkle_bitmaps[1].fill_rect(3, 2, 1, 3, darkBlue)
      @sparkle_bitmaps[1].fill_rect(2, 3, 3, 1, darkBlue)
      @sparkle_bitmaps[1].set_pixel(3, 3, midBlue)
      @sparkle_bitmaps[2] = Bitmap.new(7, 7)
      @sparkle_bitmaps[2].set_pixel(1, 1, darkBlue)
      @sparkle_bitmaps[2].set_pixel(5, 1, darkBlue)
      @sparkle_bitmaps[2].set_pixel(2, 2, midBlue)
      @sparkle_bitmaps[2].set_pixel(4, 2, midBlue)
      @sparkle_bitmaps[2].set_pixel(3, 3, lightBlue)
      @sparkle_bitmaps[2].set_pixel(2, 4, midBlue)
      @sparkle_bitmaps[2].set_pixel(4, 4, midBlue)
      @sparkle_bitmaps[2].set_pixel(1, 5, darkBlue)
      @sparkle_bitmaps[2].set_pixel(5, 5, darkBlue)
      @sparkle_bitmaps[3] = Bitmap.new(7, 7)
      @sparkle_bitmaps[3].fill_rect(3, 1, 1, 5, darkBlue)
      @sparkle_bitmaps[3].fill_rect(1, 3, 5, 1, darkBlue)
      @sparkle_bitmaps[3].fill_rect(3, 2, 1, 3, midBlue)
      @sparkle_bitmaps[3].fill_rect(2, 3, 3, 1, midBlue)
      @sparkle_bitmaps[3].set_pixel(3, 3, lightBlue)
      @sparkle_bitmaps[4] = Bitmap.new(7, 7)
      @sparkle_bitmaps[4].fill_rect(2, 2, 3, 3, midBlue)
      @sparkle_bitmaps[4].fill_rect(3, 2, 1, 3, darkBlue)
      @sparkle_bitmaps[4].fill_rect(2, 3, 3, 1, darkBlue)
      @sparkle_bitmaps[4].set_pixel(3, 3, lightBlue)
      @sparkle_bitmaps[4].set_pixel(1, 1, darkBlue)
      @sparkle_bitmaps[4].set_pixel(5, 1, darkBlue)
      @sparkle_bitmaps[4].set_pixel(1, 5, darkBlue)
      @sparkle_bitmaps[4].set_pixel(5, 1, darkBlue)
      @sparkle_bitmaps[5] = Bitmap.new(7, 7)
      @sparkle_bitmaps[5].fill_rect(2, 1, 3, 5, darkBlue)
      @sparkle_bitmaps[5].fill_rect(1, 2, 5, 3, darkBlue)
      @sparkle_bitmaps[5].fill_rect(2, 2, 3, 3, midBlue)
      @sparkle_bitmaps[5].fill_rect(3, 1, 1, 5, midBlue)
      @sparkle_bitmaps[5].fill_rect(1, 3, 5, 1, midBlue)
      @sparkle_bitmaps[5].fill_rect(3, 2, 1, 3, lightBlue)
      @sparkle_bitmaps[5].fill_rect(2, 3, 3, 1, lightBlue)
      @sparkle_bitmaps[5].set_pixel(3, 3, white)
      @sparkle_bitmaps[6] = Bitmap.new(7, 7)
      @sparkle_bitmaps[6].fill_rect(2, 1, 3, 5, midBlue)
      @sparkle_bitmaps[6].fill_rect(1, 2, 5, 3, midBlue)
      @sparkle_bitmaps[6].fill_rect(3, 0, 1, 7, darkBlue)
      @sparkle_bitmaps[6].fill_rect(0, 3, 7, 1, darkBlue)
      @sparkle_bitmaps[6].fill_rect(2, 2, 3, 3, lightBlue)
      @sparkle_bitmaps[6].fill_rect(3, 2, 1, 3, midBlue)
      @sparkle_bitmaps[6].fill_rect(2, 3, 3, 1, midBlue)
      @sparkle_bitmaps[6].set_pixel(3, 3, white)
      @meteor_bitmap = Bitmap.new(14, 12)
      @meteor_bitmap.fill_rect(0, 8, 5, 4, paleOrange)
      @meteor_bitmap.fill_rect(1, 7, 6, 4, paleOrange)
      @meteor_bitmap.set_pixel(7, 8, paleOrange)
      @meteor_bitmap.fill_rect(1, 8, 2, 2, brightOrange)
      @meteor_bitmap.set_pixel(2, 7, brightOrange)
      @meteor_bitmap.fill_rect(3, 6, 2, 1, brightOrange)
      @meteor_bitmap.set_pixel(3, 8, brightOrange)
      @meteor_bitmap.set_pixel(3, 10, brightOrange)
      @meteor_bitmap.set_pixel(4, 9, brightOrange)
      @meteor_bitmap.fill_rect(5, 5, 1, 5, brightOrange)
      @meteor_bitmap.fill_rect(6, 4, 1, 5, brightOrange)
      @meteor_bitmap.fill_rect(7, 3, 1, 5, brightOrange)
      @meteor_bitmap.fill_rect(8, 6, 1, 2, brightOrange)
      @meteor_bitmap.set_pixel(9, 5, brightOrange)
      @meteor_bitmap.set_pixel(3, 8, midRed)
      @meteor_bitmap.fill_rect(4, 7, 1, 2, midRed)
      @meteor_bitmap.set_pixel(4, 5, midRed)
      @meteor_bitmap.set_pixel(5, 4, midRed)
      @meteor_bitmap.set_pixel(5, 6, midRed)
      @meteor_bitmap.set_pixel(6, 5, midRed)
      @meteor_bitmap.set_pixel(6, 7, midRed)
      @meteor_bitmap.fill_rect(7, 4, 1, 3, midRed)
      @meteor_bitmap.fill_rect(8, 3, 1, 3, midRed)
      @meteor_bitmap.fill_rect(9, 2, 1, 3, midRed)
      @meteor_bitmap.fill_rect(10, 1, 1, 3, midRed)
      @meteor_bitmap.fill_rect(11, 0, 1, 3, midRed)
      @meteor_bitmap.fill_rect(12, 0, 1, 2, midRed)
      @meteor_bitmap.set_pixel(13, 0, midRed)
      @impact_bitmap = Bitmap.new(22, 11)
      @impact_bitmap.fill_rect(0, 5, 1, 2, brightOrange)
      @impact_bitmap.set_pixel(1, 4, brightOrange)
      @impact_bitmap.set_pixel(1, 6, brightOrange)
      @impact_bitmap.set_pixel(2, 3, brightOrange)
      @impact_bitmap.set_pixel(2, 7, brightOrange)
      @impact_bitmap.set_pixel(3, 2, midRed)
      @impact_bitmap.set_pixel(3, 7, midRed)
      @impact_bitmap.set_pixel(4, 2, brightOrange)
      @impact_bitmap.set_pixel(4, 8, brightOrange)
      @impact_bitmap.set_pixel(5, 2, midRed)
      @impact_bitmap.fill_rect(5, 8, 3, 1, brightOrange)
      @impact_bitmap.set_pixel(6, 1, midRed)
      @impact_bitmap.fill_rect(7, 1, 8, 1, brightOrange)
      @impact_bitmap.fill_rect(7, 9, 8, 1, midRed) 
      # 灰
      @ash_bitmaps = []
      @ash_bitmaps[0] = Bitmap.new(3, 3)
      @ash_bitmaps[0].fill_rect(0, 1, 1, 3, lightGrey)
      @ash_bitmaps[0].fill_rect(1, 0, 3, 1, lightGrey)
      @ash_bitmaps[0].set_pixel(1, 1, white)
      @ash_bitmaps[1] = Bitmap.new(3, 3)
      @ash_bitmaps[1].fill_rect(0, 1, 1, 3, grey)
      @ash_bitmaps[1].fill_rect(1, 0, 3, 1, grey)
      @ash_bitmaps[1].set_pixel(1, 1, lightGrey)
      # 泡沫位图
      @bubble_bitmaps = []
      darkBlue  = Color.new(77, 136, 225, 160)
      aqua = Color.new(197, 253, 254, 160)
      lavender = Color.new(225, 190, 244, 160)
      # 第一泡沫
      @bubble_bitmaps[0] = Bitmap.new(24, 24)
      @bubble_bitmaps[0].fill_rect(0, 9, 24, 5, darkBlue)
      @bubble_bitmaps[0].fill_rect(1, 6, 22, 11, darkBlue)
      @bubble_bitmaps[0].fill_rect(2, 5, 20, 13, darkBlue)
      @bubble_bitmaps[0].fill_rect(3, 4, 18, 15, darkBlue)
      @bubble_bitmaps[0].fill_rect(4, 3, 16, 17, darkBlue)
      @bubble_bitmaps[0].fill_rect(5, 2, 14, 19, darkBlue)
      @bubble_bitmaps[0].fill_rect(6, 1, 12, 21, darkBlue)
      @bubble_bitmaps[0].fill_rect(9, 0, 5, 24, darkBlue)
      @bubble_bitmaps[0].fill_rect(2, 11, 20, 4, aqua)
      @bubble_bitmaps[0].fill_rect(3, 7, 18, 10, aqua)
      @bubble_bitmaps[0].fill_rect(4, 6, 16, 12, aqua)
      @bubble_bitmaps[0].fill_rect(5, 5, 14, 14, aqua)
      @bubble_bitmaps[0].fill_rect(6, 4, 12, 16, aqua)
      @bubble_bitmaps[0].fill_rect(9, 2, 4, 20, aqua)
      @bubble_bitmaps[0].fill_rect(5, 10, 1, 7, lavender)
      @bubble_bitmaps[0].fill_rect(6, 14, 1, 5, lavender)
      @bubble_bitmaps[0].fill_rect(7, 15, 1, 4, lavender)
      @bubble_bitmaps[0].fill_rect(8, 16, 1, 4, lavender)
      @bubble_bitmaps[0].fill_rect(9, 17, 1, 3, lavender)
      @bubble_bitmaps[0].fill_rect(10, 18, 4, 3, lavender)
      @bubble_bitmaps[0].fill_rect(14, 18, 1, 2, lavender)
      @bubble_bitmaps[0].fill_rect(13, 5, 4, 4, white)
      @bubble_bitmaps[0].fill_rect(14, 4, 2, 1, white)
      @bubble_bitmaps[0].set_pixel(17, 6, white)
      # 第二泡沫
      @bubble_bitmaps[1] = Bitmap.new(14, 15)
      @bubble_bitmaps[1].fill_rect(0, 4, 14, 7, darkBlue)
      @bubble_bitmaps[1].fill_rect(1, 3, 12, 9, darkBlue)
      @bubble_bitmaps[1].fill_rect(2, 2, 10, 11, darkBlue)
      @bubble_bitmaps[1].fill_rect(3, 1, 8, 13, darkBlue)
      @bubble_bitmaps[1].fill_rect(5, 0, 4, 15, darkBlue)
      @bubble_bitmaps[1].fill_rect(1, 5, 12, 4, aqua)
      @bubble_bitmaps[1].fill_rect(2, 4, 10, 6, aqua)
      @bubble_bitmaps[1].fill_rect(3, 3, 8, 8, aqua)
      @bubble_bitmaps[1].fill_rect(4, 2, 6, 10, aqua)
      @bubble_bitmaps[1].fill_rect(1, 5, 12, 4, aqua)
      @bubble_bitmaps[1].fill_rect(3, 9, 1, 2, lavender)
      @bubble_bitmaps[1].fill_rect(4, 10, 1, 2, lavender)
      @bubble_bitmaps[1].fill_rect(5, 11, 4, 1, lavender)
      @bubble_bitmaps[1].fill_rect(6, 12, 2, 1, white)
      @bubble_bitmaps[1].fill_rect(8, 3, 2, 2, white)
      @bubble_bitmaps[1].set_pixel(7, 4, white)
      @bubble_bitmaps[1].set_pixel(8, 5, white)
      #用户位图
      @user_bitmaps = []
      update_user_defined
    end
    #刷新自定义(用户)
    def update_user_defined
      for image in @user_bitmaps
        #释放位图
        image.dispose
      end
      #用户自定义位图
      for name in $WEATHER_IMAGES
        @user_bitmaps.push(RPG::Cache.picture(name))
      end
      #循环精灵
      for sprite in @sprites
        sprite.bitmap = @user_bitmaps[rand(@user_bitmaps.size)]
      end
    end
    #属性
    attr_reader :type
    attr_reader :max
    attr_reader :ox
    attr_reader :oy
  end
end
 | 
 评分
查看全部评分
 |