Source Thread: http://www.rmvxp.com/showthread.php?t=1283
ccoa씨의 날씨 스크립트 RMVX용입니다. 직접 이미지를 작성해야 하는 15번 커스텀 날씨를 제외하면 모두 스크립트상에서 날씨 이미지를 구현하므로 그냥 끼워넣기만 하면 됨(대신 사용할 때 fps떨어지는 것을 감안해야 함).
사용법: 이벤트상에서 $game_screen.weather(날씨유형, 강도, 지속시간)로 호출. 만일 안될 때에는 screen.weather(날씨유형, 강도, 지속시간)를 시도해 보기 바랍니다. #=========================== # VX Weather Script # by Ccoa / Jan 15 2008 #=========================== # Weather Types: # 1 - rain # 2 - storm # 3 - snow # 4 - hail # 5 - rain with thunder and lightning # 6 - falling leaves (autumn) # 7 - blowing leaves (autumn) # 8 - swirling leaves (autumn) # 9 - falling leaves (green) # 10 - cherry blossom (sakura) petals # 11 - rose petals # 12 - feathers # 13 - blood rain # 14 - sparkles # 15 - user defined # 16 - blowing snow # 17 - meteor shower # 18 - falling ash # 19 - bubbles # 20 - bubbles 2 # 21 - sparkles up # # Weather Power: # An integer from 0-40. 0 = no weather, 40 = 400 sprites # # Usage: # Create a call script with the following: # $game_screen.weather(type, power, hue) # # Usage of user-defined weather: # Look at the following globals: $WEATHER_UPDATE = false # the $WEATHER_IMAGES array has changed, please update $WEATHER_IMAGES = [] # the array of picture names to use $WEATHER_X = 0 # the number of pixels the image should move horizontally (positive = right, negative = left) $WEATHER_Y = 0 # the number of pizels the image should move vertically (positive = down, negative = up) $WEATHER_FADE = 0 # how much the image should fade each update (0 = no fade, 255 = fade instantly) $WEATHER_ANIMATED = false # whether or not the image should cycle through all the images # take these out if you are using my screen resolution script! HEIGHT = 416 WIDTH = 544 #============================================================================== # ** Spriteset_Weather #------------------------------------------------------------------------------ # Weather effect (rain, storm, snow) class. This class is used within the # Spriteset_Map class. #============================================================================== class Spriteset_Weather #-------------------------------------------------------------------------- # * Public Instance Variables #-------------------------------------------------------------------------- attr_reader :type attr_reader :max attr_reader :ox attr_reader :oy #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize(viewport = nil) @type = 0 @max = 0 @ox = 0 @oy = 0 @count = 0 @current_pose = [] @info = [] @countarray = [] make_bitmaps @sprites = [] for i in 1..500 sprite = Sprite.new(viewport) sprite.visible = false sprite.opacity = 0 @sprites.push(sprite) @current_pose.push(0) @info.push(rand(50)) @countarray.push(rand(15)) end end #-------------------------------------------------------------------------- # * Dispose #-------------------------------------------------------------------------- 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 #-------------------------------------------------------------------------- # * Set weather type # type : new weather type #-------------------------------------------------------------------------- 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 # hail bitmap = @hail_bitmap when 5 # rain w/ thunder and lightning bitmap = @rain_bitmap @thunder = true when 6 # falling autumn leaves bitmap = @autumn_leaf_bitmaps[0] when 7 # blowing autumn leaves bitmap = @autumn_leaf_bitmaps[0] when 8 # swirling autumn leaves bitmap = @autumn_leaf_bitmaps[0] when 9 # falling green leaves bitmap = @green_leaf_bitmaps[0] when 10 # sakura petals bitmap = @petal_bitmap when 11 # rose petals bitmap = @rose_bitmaps[0] when 12 # feathers bitmap = @feather_bitmaps[0] when 13 # blood rain bitmap = @blood_rain_bitmap when 14 # sparkles bitmap = @sparkle_bitmaps[0] when 15 # user-defined bitmap = @user_bitmaps[rand(@user_bitmaps.size)] when 16 # blowing snow bitmap = @snow_bitmap when 17 # meteors bitmap = @meteor_bitmap when 18 # falling ash bitmap = @ash_bitmaps[rand(@ash_bitmaps.size)] when 19 # bubbles bitmap = @bubble_bitmaps[rand(@bubble_bitmaps.size)] when 21 # sparkles up bitmap = @sparkle_bitmaps[0] else bitmap = nil end if @type != 5 @thunder = false end for i in 0...@sprites.size sprite = @sprites[i] sprite.visible = (i <= @max) if @type == 19 sprite.bitmap = @bubble_bitmaps[rand(@bubble_bitmaps.size)] elsif @type == 20 sprite.bitmap = @bubble2_bitmaps[rand(@bubble2_bitmaps.size)] elsif @type == 3 r = rand(@snow_bitmaps.size) @info[i] = r sprite.bitmap = @snow_bitmaps[r] else sprite.bitmap = bitmap end end end #-------------------------------------------------------------------------- # * Set starting point X coordinate # ox : starting point X coordinate #-------------------------------------------------------------------------- def ox=(ox) return if @ox == ox; @ox = ox for sprite in @sprites sprite.ox = @ox end end #-------------------------------------------------------------------------- # * Set starting point Y coordinate # oy : starting point Y coordinate #-------------------------------------------------------------------------- def oy=(oy) return if @oy == oy; @oy = oy for sprite in @sprites sprite.oy = @oy end end #-------------------------------------------------------------------------- # * Set maximum number of sprites # max : maximum number of sprites #-------------------------------------------------------------------------- def max=(max) return if @max == max; @max = [[max, 0].max, 40].min for i in 1..40 sprite = @sprites[i] sprite.visible = (i <= @max) if sprite != nil if @type == 19 sprite.bitmap = @bubble_bitmaps[rand(@bubble_bitmaps.size)] elsif @type == 20 sprite.bitmap = @bubble2_bitmaps[rand(@bubble2_bitmaps.size)] elsif @type == 3 r = rand(@snow_bitmaps.size) @info[i] = r sprite.bitmap = @snow_bitmaps[r] end end end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update return if @type == 0 for i in 1..@max sprite = @sprites[i] if @type == 1 or @type == 5 or @type == 13 # rain if sprite.opacity <= 150 if @current_pose[i] == 0 sprite.y += @rain_bitmap.height sprite.x -= @rain_bitmap.width if @type == 1 or @type == 5 sprite.bitmap = @rain_splash else sprite.bitmap = @blood_rain_splash end @current_pose[i] = 1 end else if @current_pose[i] == 1 if @type == 1 or @type == 5 sprite.bitmap = @rain_bitmap else sprite.bitmap = @blood_rain_bitmap end @current_pose[i] = 0 end sprite.x -= 2 sprite.y += 16 if @thunder and (rand(8000 - @max) == 0) $game_map.screen.start_flash(Color.new(255, 255, 255, 255), 5) Audio.se_play("Audio/SE/Thunder1") end end sprite.opacity -= 8 end if @type == 2 # storm sprite.x -= 8 sprite.y += 16 sprite.opacity -= 12 end if @type == 3 # snow case @info[i] when 0 # smallest flake, fall the slowest sprite.y += 1 when 1 sprite.y += 3 when 2 sprite.y += 5 when 3 sprite.y += 7 end sprite.opacity -= 3 end if @type == 4 # hail sprite.x -= 1 sprite.y += 18 sprite.opacity -= 15 end if @type == 6 # falling autumn leaves @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 # blowing autumn leaves @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 # swirling autumn leaves @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 # falling green leaves 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 petals 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 # rose petals @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 # feathers 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 # sparkles 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 # user-defined 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 # blowing snow sprite.x -= 10 sprite.y += 6 sprite.opacity -= 4 end if @type == 17 # meteors 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 # ash sprite.y += 2 case @countarray[i] % 3 when 0 sprite.x -= 1 when 1 sprite.x += 1 end end if @type == 19 or @type == 20 # bubbles 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 if @type == 21 # sparkles up 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 x = sprite.x - @ox y = sprite.y - @oy if sprite.opacity < 64 or sprite.x > WIDTH or sprite.x < 0 or sprite.y > HEIGHT or sprite.y < 0 sprite.x = rand(800) - 100 + @ox sprite.y = rand(600) - 200 + @oy if [13, 14, 16, 5, 2, 1].include?(@type) sprite.opacity = rand(100) + 155 else sprite.opacity = 255 end 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 @rain_splash = Bitmap.new(8, 5) @rain_splash.fill_rect(1, 0, 6, 1, color2) @rain_splash.fill_rect(1, 4, 6, 1, color2) @rain_splash.fill_rect(0, 1, 1, 3, color2) @rain_splash.fill_rect(7, 1, 1, 3, color2) @rain_splash.set_pixel(1, 0, color1) @rain_splash.set_pixel(0, 1, color1) @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 = [] @snow_bitmaps = [] color3 = Color.new(255, 255, 255, 204) @snow_bitmaps[0] = Bitmap.new(3, 3) @snow_bitmaps[0].fill_rect(0, 0, 3, 3, color2) @snow_bitmaps[0].fill_rect(0, 1, 3, 1, color3) @snow_bitmaps[0].fill_rect(1, 0, 1, 3, color3) @snow_bitmaps[0].set_pixel(1, 1, color1) @snow_bitmaps[1] = Bitmap.new(4, 4) @snow_bitmaps[1].fill_rect(0, 1, 4, 2, color2) @snow_bitmaps[1].fill_rect(1, 0, 2, 4, color2) @snow_bitmaps[1].fill_rect(1, 1, 2, 2, color1) @snow_bitmaps[2] = Bitmap.new(5, 5) @snow_bitmaps[1].fill_rect(0, 1, 5, 3, color3) @snow_bitmaps[1].fill_rect(1, 0, 3, 5, color3) @snow_bitmaps[1].fill_rect(1, 1, 3, 3, color2) @snow_bitmaps[1].fill_rect(2, 1, 3, 1, color1) @snow_bitmaps[1].fill_rect(1, 2, 1, 3, color1) @snow_bitmaps[3] = Bitmap.new(7, 7) @snow_bitmaps[1].fill_rect(1, 1, 5, 5, color3) @snow_bitmaps[1].fill_rect(2, 0, 7, 3, color3) @snow_bitmaps[1].fill_rect(0, 2, 3, 7, color3) @snow_bitmaps[1].fill_rect(2, 1, 5, 3, color2) @snow_bitmaps[1].fill_rect(1, 2, 3, 5, color2) @snow_bitmaps[1].fill_rect(2, 2, 3, 3, color1) @snow_bitmaps[1].fill_rect(3, 1, 5, 1, color1) @snow_bitmaps[1].fill_rect(1, 3, 1, 5, color1) 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) # light pink color4 = Color.new(213, 106, 136, 255) # dark pink @petal_bitmap = Bitmap.new(4, 4) #This creates a new bitmap that is 4 x 4 pixels @petal_bitmap.fill_rect(0, 3, 1, 1, color3) # this makes a 1x1 pixel "rectangle" at the 0, 3 pixel of the image (upper left corner is 0, 0) @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)) # draw the first of the leaf1 bitmaps @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) # draw the 2nd of the leaf1 bitmaps @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) # draw the 3rd of the leaf1 bitmaps @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) # draw the 4th of the leaf1 bitmaps @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) # 1st leaf bitmap @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) # 2nd leaf bitmap @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) # 3rd leaf bitmap @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) # 4th leaf bitmap @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) # 5th leaf bitmap @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) # 6th leaf bitmap @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) # 7th leaf bitmap @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) # 8th leaf bitmap @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) # 9th leaf bitmap @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) # 10th leaf bitmap @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) # 11th leaf bitmap @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) # 12th leaf bitmap @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) # 13th leaf bitmap @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) # 1st rose petal bitmap @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) # 2nd rose petal bitmap @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) # 1st feather bitmap @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) # 2nd feather bitmap @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) # 3rd feather bitmap @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) # 4th feather bitmap @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 @blood_rain_splash = Bitmap.new(8, 5) @blood_rain_splash.fill_rect(1, 0, 6, 1, darkRed) @blood_rain_splash.fill_rect(1, 4, 6, 1, darkRed) @blood_rain_splash.fill_rect(0, 1, 1, 3, darkRed) @blood_rain_splash.fill_rect(7, 1, 1, 3, darkRed) @sparkle_bitmaps = [] lightBlue = Color.new(181, 244, 255, 255) midBlue = Color.new(126, 197, 235, 255) darkBlue = Color.new(77, 136, 225, 255) # 1st sparkle bitmap @sparkle_bitmaps[0] = Bitmap.new(7, 7) @sparkle_bitmaps[0].set_pixel(3, 3, darkBlue) # 2nd sparkle bitmap @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) # 3rd sparkle bitmap @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) # 4th sparkle bitmap @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) # 5th sparkle bitmap @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) # 6th sparkle bitmap @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) # 7th sparkle bitmap @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 @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 @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 = [] @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 @bubble_bitmaps = [] darkBlue = Color.new(77, 136, 225, 160) aqua = Color.new(197, 253, 254, 160) lavender = Color.new(225, 190, 244, 160) # first bubble bitmap @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) # second bubble bitmap @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) # Other option for bubbles @bubble2_bitmaps = Array.new darkSteelGray = Color.new(145, 150, 155, 160) midSteelGray = Color.new(180, 180, 185, 160) lightSteelGray = Color.new(225, 225, 235, 160) steelBlue = Color.new(145, 145, 165, 160) lightSteelBlue = Color.new(165, 170, 180, 160) transparentWhite = Color.new(255, 255, 255, 160) # first bubble 2 bitmap @bubble2_bitmaps[0] = Bitmap.new(6, 6) @bubble2_bitmaps[0].fill_rect(0, 0, 6, 6, darkSteelGray) @bubble2_bitmaps[0].fill_rect(0, 2, 6, 2, midSteelGray) @bubble2_bitmaps[0].fill_rect(2, 0, 2, 6, midSteelGray) @bubble2_bitmaps[0].fill_rect(2, 2, 2, 2, lightSteelGray) # second bubble 2 bitmap @bubble2_bitmaps[1] = Bitmap.new(8, 8) @bubble2_bitmaps[1].fill_rect(0, 2, 2, 4, steelBlue) @bubble2_bitmaps[1].fill_rect(2, 0, 4, 2, darkSteelGray) @bubble2_bitmaps[1].fill_rect(6, 2, 2, 2, darkSteelGray) @bubble2_bitmaps[1].fill_rect(2, 6, 2, 2, darkSteelGray) @bubble2_bitmaps[1].fill_rect(6, 4, 2, 2, midSteelGray) @bubble2_bitmaps[1].fill_rect(4, 6, 2, 2, midSteelGray) @bubble2_bitmaps[1].fill_rect(4, 4, 2, 2, lightSteelBlue) @bubble2_bitmaps[1].fill_rect(2, 4, 2, 2, lightSteelGray) @bubble2_bitmaps[1].fill_rect(4, 2, 2, 2, lightSteelGray) @bubble2_bitmaps[1].fill_rect(2, 2, 2, 2, transparentWhite) # third bubble 2 bitmap @bubble2_bitmaps[2] = Bitmap.new(8, 10) @bubble2_bitmaps[2].fill_rect(8, 2, 2, 4, steelBlue) @bubble2_bitmaps[2].fill_rect(2, 0, 8, 2, darkSteelGray) @bubble2_bitmaps[2].fill_rect(2, 6, 8, 2, darkSteelGray) @bubble2_bitmaps[2].fill_rect(4, 0, 2, 2, midSteelGray) @bubble2_bitmaps[2].fill_rect(4, 6, 2, 2, midSteelGray) @bubble2_bitmaps[2].fill_rect(0, 2, 2, 2, midSteelGray) @bubble2_bitmaps[2].fill_rect(0, 4, 2, 2, lightSteelBlue) @bubble2_bitmaps[2].fill_rect(2, 2, 6, 4, lightSteelGray) @bubble2_bitmaps[2].fill_rect(2, 2, 4, 2, transparentWhite) @bubble2_bitmaps[2].fill_rect(4, 4, 2, 2, transparentWhite) # fourth bubble 2 bitmap @bubble2_bitmaps[3] = Bitmap.new(14, 14) @bubble2_bitmaps[3].fill_rect(4, 0, 4, 2, steelBlue) @bubble2_bitmaps[3].fill_rect(0, 4, 2, 4, steelBlue) @bubble2_bitmaps[3].fill_rect(12, 4, 2, 4, steelBlue) @bubble2_bitmaps[3].fill_rect(8, 0, 2, 2, darkSteelGray) @bubble2_bitmaps[3].fill_rect(0, 6, 2, 2, darkSteelGray) @bubble2_bitmaps[3].fill_rect(12, 6, 2, 2, darkSteelGray) @bubble2_bitmaps[3].fill_rect(4, 12, 6, 2, darkSteelGray) @bubble2_bitmaps[3].fill_rect(8, 0, 2, 2, darkSteelGray) @bubble2_bitmaps[3].fill_rect(2, 2, 10, 10, midSteelGray) @bubble2_bitmaps[3].fill_rect(6, 12, 2, 2, midSteelGray) @bubble2_bitmaps[3].fill_rect(2, 4, 10, 6, lightSteelGray) @bubble2_bitmaps[3].fill_rect(4, 2, 2, 2, lightSteelGray) @bubble2_bitmaps[3].fill_rect(6, 10, 4, 2, lightSteelGray) @bubble2_bitmaps[3].fill_rect(6, 4, 2, 2, transparentWhite) @bubble2_bitmaps[3].fill_rect(4, 6, 2, 2, transparentWhite) @user_bitmaps = [] update_user_defined end def update_user_defined for image in @user_bitmaps image.dispose end #user-defined bitmaps 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 end
ccoa씨의 날씨 스크립트 RMVX용입니다. 직접 이미지를 작성해야 하는 15번 커스텀 날씨를 제외하면 모두 스크립트상에서 날씨 이미지를 구현하므로 그냥 끼워넣기만 하면 됨(대신 사용할 때 fps떨어지는 것을 감안해야 함).
사용법: 이벤트상에서 $game_screen.weather(날씨유형, 강도, 지속시간)로 호출. 만일 안될 때에는 screen.weather(날씨유형, 강도, 지속시간)를 시도해 보기 바랍니다. #=========================== # VX Weather Script # by Ccoa / Jan 15 2008 #=========================== # Weather Types: # 1 - rain # 2 - storm # 3 - snow # 4 - hail # 5 - rain with thunder and lightning # 6 - falling leaves (autumn) # 7 - blowing leaves (autumn) # 8 - swirling leaves (autumn) # 9 - falling leaves (green) # 10 - cherry blossom (sakura) petals # 11 - rose petals # 12 - feathers # 13 - blood rain # 14 - sparkles # 15 - user defined # 16 - blowing snow # 17 - meteor shower # 18 - falling ash # 19 - bubbles # 20 - bubbles 2 # 21 - sparkles up # # Weather Power: # An integer from 0-40. 0 = no weather, 40 = 400 sprites # # Usage: # Create a call script with the following: # $game_screen.weather(type, power, hue) # # Usage of user-defined weather: # Look at the following globals: $WEATHER_UPDATE = false # the $WEATHER_IMAGES array has changed, please update $WEATHER_IMAGES = [] # the array of picture names to use $WEATHER_X = 0 # the number of pixels the image should move horizontally (positive = right, negative = left) $WEATHER_Y = 0 # the number of pizels the image should move vertically (positive = down, negative = up) $WEATHER_FADE = 0 # how much the image should fade each update (0 = no fade, 255 = fade instantly) $WEATHER_ANIMATED = false # whether or not the image should cycle through all the images # take these out if you are using my screen resolution script! HEIGHT = 416 WIDTH = 544 #============================================================================== # ** Spriteset_Weather #------------------------------------------------------------------------------ # Weather effect (rain, storm, snow) class. This class is used within the # Spriteset_Map class. #============================================================================== class Spriteset_Weather #-------------------------------------------------------------------------- # * Public Instance Variables #-------------------------------------------------------------------------- attr_reader :type attr_reader :max attr_reader :ox attr_reader :oy #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize(viewport = nil) @type = 0 @max = 0 @ox = 0 @oy = 0 @count = 0 @current_pose = [] @info = [] @countarray = [] make_bitmaps @sprites = [] for i in 1..500 sprite = Sprite.new(viewport) sprite.visible = false sprite.opacity = 0 @sprites.push(sprite) @current_pose.push(0) @info.push(rand(50)) @countarray.push(rand(15)) end end #-------------------------------------------------------------------------- # * Dispose #-------------------------------------------------------------------------- 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 #-------------------------------------------------------------------------- # * Set weather type # type : new weather type #-------------------------------------------------------------------------- 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 # hail bitmap = @hail_bitmap when 5 # rain w/ thunder and lightning bitmap = @rain_bitmap @thunder = true when 6 # falling autumn leaves bitmap = @autumn_leaf_bitmaps[0] when 7 # blowing autumn leaves bitmap = @autumn_leaf_bitmaps[0] when 8 # swirling autumn leaves bitmap = @autumn_leaf_bitmaps[0] when 9 # falling green leaves bitmap = @green_leaf_bitmaps[0] when 10 # sakura petals bitmap = @petal_bitmap when 11 # rose petals bitmap = @rose_bitmaps[0] when 12 # feathers bitmap = @feather_bitmaps[0] when 13 # blood rain bitmap = @blood_rain_bitmap when 14 # sparkles bitmap = @sparkle_bitmaps[0] when 15 # user-defined bitmap = @user_bitmaps[rand(@user_bitmaps.size)] when 16 # blowing snow bitmap = @snow_bitmap when 17 # meteors bitmap = @meteor_bitmap when 18 # falling ash bitmap = @ash_bitmaps[rand(@ash_bitmaps.size)] when 19 # bubbles bitmap = @bubble_bitmaps[rand(@bubble_bitmaps.size)] when 21 # sparkles up bitmap = @sparkle_bitmaps[0] else bitmap = nil end if @type != 5 @thunder = false end for i in 0...@sprites.size sprite = @sprites[i] sprite.visible = (i <= @max) if @type == 19 sprite.bitmap = @bubble_bitmaps[rand(@bubble_bitmaps.size)] elsif @type == 20 sprite.bitmap = @bubble2_bitmaps[rand(@bubble2_bitmaps.size)] elsif @type == 3 r = rand(@snow_bitmaps.size) @info[i] = r sprite.bitmap = @snow_bitmaps[r] else sprite.bitmap = bitmap end end end #-------------------------------------------------------------------------- # * Set starting point X coordinate # ox : starting point X coordinate #-------------------------------------------------------------------------- def ox=(ox) return if @ox == ox; @ox = ox for sprite in @sprites sprite.ox = @ox end end #-------------------------------------------------------------------------- # * Set starting point Y coordinate # oy : starting point Y coordinate #-------------------------------------------------------------------------- def oy=(oy) return if @oy == oy; @oy = oy for sprite in @sprites sprite.oy = @oy end end #-------------------------------------------------------------------------- # * Set maximum number of sprites # max : maximum number of sprites #-------------------------------------------------------------------------- def max=(max) return if @max == max; @max = [[max, 0].max, 40].min for i in 1..40 sprite = @sprites[i] sprite.visible = (i <= @max) if sprite != nil if @type == 19 sprite.bitmap = @bubble_bitmaps[rand(@bubble_bitmaps.size)] elsif @type == 20 sprite.bitmap = @bubble2_bitmaps[rand(@bubble2_bitmaps.size)] elsif @type == 3 r = rand(@snow_bitmaps.size) @info[i] = r sprite.bitmap = @snow_bitmaps[r] end end end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update return if @type == 0 for i in 1..@max sprite = @sprites[i] if @type == 1 or @type == 5 or @type == 13 # rain if sprite.opacity <= 150 if @current_pose[i] == 0 sprite.y += @rain_bitmap.height sprite.x -= @rain_bitmap.width if @type == 1 or @type == 5 sprite.bitmap = @rain_splash else sprite.bitmap = @blood_rain_splash end @current_pose[i] = 1 end else if @current_pose[i] == 1 if @type == 1 or @type == 5 sprite.bitmap = @rain_bitmap else sprite.bitmap = @blood_rain_bitmap end @current_pose[i] = 0 end sprite.x -= 2 sprite.y += 16 if @thunder and (rand(8000 - @max) == 0) $game_map.screen.start_flash(Color.new(255, 255, 255, 255), 5) Audio.se_play("Audio/SE/Thunder1") end end sprite.opacity -= 8 end if @type == 2 # storm sprite.x -= 8 sprite.y += 16 sprite.opacity -= 12 end if @type == 3 # snow case @info[i] when 0 # smallest flake, fall the slowest sprite.y += 1 when 1 sprite.y += 3 when 2 sprite.y += 5 when 3 sprite.y += 7 end sprite.opacity -= 3 end if @type == 4 # hail sprite.x -= 1 sprite.y += 18 sprite.opacity -= 15 end if @type == 6 # falling autumn leaves @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 # blowing autumn leaves @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 # swirling autumn leaves @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 # falling green leaves 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 petals 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 # rose petals @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 # feathers 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 # sparkles 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 # user-defined 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 # blowing snow sprite.x -= 10 sprite.y += 6 sprite.opacity -= 4 end if @type == 17 # meteors 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 # ash sprite.y += 2 case @countarray[i] % 3 when 0 sprite.x -= 1 when 1 sprite.x += 1 end end if @type == 19 or @type == 20 # bubbles 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 if @type == 21 # sparkles up 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 x = sprite.x - @ox y = sprite.y - @oy if sprite.opacity < 64 or sprite.x > WIDTH or sprite.x < 0 or sprite.y > HEIGHT or sprite.y < 0 sprite.x = rand(800) - 100 + @ox sprite.y = rand(600) - 200 + @oy if [13, 14, 16, 5, 2, 1].include?(@type) sprite.opacity = rand(100) + 155 else sprite.opacity = 255 end 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 @rain_splash = Bitmap.new(8, 5) @rain_splash.fill_rect(1, 0, 6, 1, color2) @rain_splash.fill_rect(1, 4, 6, 1, color2) @rain_splash.fill_rect(0, 1, 1, 3, color2) @rain_splash.fill_rect(7, 1, 1, 3, color2) @rain_splash.set_pixel(1, 0, color1) @rain_splash.set_pixel(0, 1, color1) @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 = [] @snow_bitmaps = [] color3 = Color.new(255, 255, 255, 204) @snow_bitmaps[0] = Bitmap.new(3, 3) @snow_bitmaps[0].fill_rect(0, 0, 3, 3, color2) @snow_bitmaps[0].fill_rect(0, 1, 3, 1, color3) @snow_bitmaps[0].fill_rect(1, 0, 1, 3, color3) @snow_bitmaps[0].set_pixel(1, 1, color1) @snow_bitmaps[1] = Bitmap.new(4, 4) @snow_bitmaps[1].fill_rect(0, 1, 4, 2, color2) @snow_bitmaps[1].fill_rect(1, 0, 2, 4, color2) @snow_bitmaps[1].fill_rect(1, 1, 2, 2, color1) @snow_bitmaps[2] = Bitmap.new(5, 5) @snow_bitmaps[1].fill_rect(0, 1, 5, 3, color3) @snow_bitmaps[1].fill_rect(1, 0, 3, 5, color3) @snow_bitmaps[1].fill_rect(1, 1, 3, 3, color2) @snow_bitmaps[1].fill_rect(2, 1, 3, 1, color1) @snow_bitmaps[1].fill_rect(1, 2, 1, 3, color1) @snow_bitmaps[3] = Bitmap.new(7, 7) @snow_bitmaps[1].fill_rect(1, 1, 5, 5, color3) @snow_bitmaps[1].fill_rect(2, 0, 7, 3, color3) @snow_bitmaps[1].fill_rect(0, 2, 3, 7, color3) @snow_bitmaps[1].fill_rect(2, 1, 5, 3, color2) @snow_bitmaps[1].fill_rect(1, 2, 3, 5, color2) @snow_bitmaps[1].fill_rect(2, 2, 3, 3, color1) @snow_bitmaps[1].fill_rect(3, 1, 5, 1, color1) @snow_bitmaps[1].fill_rect(1, 3, 1, 5, color1) 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) # light pink color4 = Color.new(213, 106, 136, 255) # dark pink @petal_bitmap = Bitmap.new(4, 4) #This creates a new bitmap that is 4 x 4 pixels @petal_bitmap.fill_rect(0, 3, 1, 1, color3) # this makes a 1x1 pixel "rectangle" at the 0, 3 pixel of the image (upper left corner is 0, 0) @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)) # draw the first of the leaf1 bitmaps @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) # draw the 2nd of the leaf1 bitmaps @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) # draw the 3rd of the leaf1 bitmaps @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) # draw the 4th of the leaf1 bitmaps @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) # 1st leaf bitmap @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) # 2nd leaf bitmap @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) # 3rd leaf bitmap @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) # 4th leaf bitmap @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) # 5th leaf bitmap @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) # 6th leaf bitmap @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) # 7th leaf bitmap @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) # 8th leaf bitmap @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) # 9th leaf bitmap @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) # 10th leaf bitmap @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) # 11th leaf bitmap @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) # 12th leaf bitmap @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) # 13th leaf bitmap @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) # 1st rose petal bitmap @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) # 2nd rose petal bitmap @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) # 1st feather bitmap @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) # 2nd feather bitmap @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) # 3rd feather bitmap @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) # 4th feather bitmap @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 @blood_rain_splash = Bitmap.new(8, 5) @blood_rain_splash.fill_rect(1, 0, 6, 1, darkRed) @blood_rain_splash.fill_rect(1, 4, 6, 1, darkRed) @blood_rain_splash.fill_rect(0, 1, 1, 3, darkRed) @blood_rain_splash.fill_rect(7, 1, 1, 3, darkRed) @sparkle_bitmaps = [] lightBlue = Color.new(181, 244, 255, 255) midBlue = Color.new(126, 197, 235, 255) darkBlue = Color.new(77, 136, 225, 255) # 1st sparkle bitmap @sparkle_bitmaps[0] = Bitmap.new(7, 7) @sparkle_bitmaps[0].set_pixel(3, 3, darkBlue) # 2nd sparkle bitmap @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) # 3rd sparkle bitmap @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) # 4th sparkle bitmap @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) # 5th sparkle bitmap @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) # 6th sparkle bitmap @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) # 7th sparkle bitmap @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 @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 @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 = [] @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 @bubble_bitmaps = [] darkBlue = Color.new(77, 136, 225, 160) aqua = Color.new(197, 253, 254, 160) lavender = Color.new(225, 190, 244, 160) # first bubble bitmap @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) # second bubble bitmap @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) # Other option for bubbles @bubble2_bitmaps = Array.new darkSteelGray = Color.new(145, 150, 155, 160) midSteelGray = Color.new(180, 180, 185, 160) lightSteelGray = Color.new(225, 225, 235, 160) steelBlue = Color.new(145, 145, 165, 160) lightSteelBlue = Color.new(165, 170, 180, 160) transparentWhite = Color.new(255, 255, 255, 160) # first bubble 2 bitmap @bubble2_bitmaps[0] = Bitmap.new(6, 6) @bubble2_bitmaps[0].fill_rect(0, 0, 6, 6, darkSteelGray) @bubble2_bitmaps[0].fill_rect(0, 2, 6, 2, midSteelGray) @bubble2_bitmaps[0].fill_rect(2, 0, 2, 6, midSteelGray) @bubble2_bitmaps[0].fill_rect(2, 2, 2, 2, lightSteelGray) # second bubble 2 bitmap @bubble2_bitmaps[1] = Bitmap.new(8, 8) @bubble2_bitmaps[1].fill_rect(0, 2, 2, 4, steelBlue) @bubble2_bitmaps[1].fill_rect(2, 0, 4, 2, darkSteelGray) @bubble2_bitmaps[1].fill_rect(6, 2, 2, 2, darkSteelGray) @bubble2_bitmaps[1].fill_rect(2, 6, 2, 2, darkSteelGray) @bubble2_bitmaps[1].fill_rect(6, 4, 2, 2, midSteelGray) @bubble2_bitmaps[1].fill_rect(4, 6, 2, 2, midSteelGray) @bubble2_bitmaps[1].fill_rect(4, 4, 2, 2, lightSteelBlue) @bubble2_bitmaps[1].fill_rect(2, 4, 2, 2, lightSteelGray) @bubble2_bitmaps[1].fill_rect(4, 2, 2, 2, lightSteelGray) @bubble2_bitmaps[1].fill_rect(2, 2, 2, 2, transparentWhite) # third bubble 2 bitmap @bubble2_bitmaps[2] = Bitmap.new(8, 10) @bubble2_bitmaps[2].fill_rect(8, 2, 2, 4, steelBlue) @bubble2_bitmaps[2].fill_rect(2, 0, 8, 2, darkSteelGray) @bubble2_bitmaps[2].fill_rect(2, 6, 8, 2, darkSteelGray) @bubble2_bitmaps[2].fill_rect(4, 0, 2, 2, midSteelGray) @bubble2_bitmaps[2].fill_rect(4, 6, 2, 2, midSteelGray) @bubble2_bitmaps[2].fill_rect(0, 2, 2, 2, midSteelGray) @bubble2_bitmaps[2].fill_rect(0, 4, 2, 2, lightSteelBlue) @bubble2_bitmaps[2].fill_rect(2, 2, 6, 4, lightSteelGray) @bubble2_bitmaps[2].fill_rect(2, 2, 4, 2, transparentWhite) @bubble2_bitmaps[2].fill_rect(4, 4, 2, 2, transparentWhite) # fourth bubble 2 bitmap @bubble2_bitmaps[3] = Bitmap.new(14, 14) @bubble2_bitmaps[3].fill_rect(4, 0, 4, 2, steelBlue) @bubble2_bitmaps[3].fill_rect(0, 4, 2, 4, steelBlue) @bubble2_bitmaps[3].fill_rect(12, 4, 2, 4, steelBlue) @bubble2_bitmaps[3].fill_rect(8, 0, 2, 2, darkSteelGray) @bubble2_bitmaps[3].fill_rect(0, 6, 2, 2, darkSteelGray) @bubble2_bitmaps[3].fill_rect(12, 6, 2, 2, darkSteelGray) @bubble2_bitmaps[3].fill_rect(4, 12, 6, 2, darkSteelGray) @bubble2_bitmaps[3].fill_rect(8, 0, 2, 2, darkSteelGray) @bubble2_bitmaps[3].fill_rect(2, 2, 10, 10, midSteelGray) @bubble2_bitmaps[3].fill_rect(6, 12, 2, 2, midSteelGray) @bubble2_bitmaps[3].fill_rect(2, 4, 10, 6, lightSteelGray) @bubble2_bitmaps[3].fill_rect(4, 2, 2, 2, lightSteelGray) @bubble2_bitmaps[3].fill_rect(6, 10, 4, 2, lightSteelGray) @bubble2_bitmaps[3].fill_rect(6, 4, 2, 2, transparentWhite) @bubble2_bitmaps[3].fill_rect(4, 6, 2, 2, transparentWhite) @user_bitmaps = [] update_user_defined end def update_user_defined for image in @user_bitmaps image.dispose end #user-defined bitmaps 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 end