From dc34054fb8dda7ca06922d844e2c633529c8d781 Mon Sep 17 00:00:00 2001 From: Cyberarm Date: Sun, 5 Aug 2018 10:57:46 -0500 Subject: [PATCH] Added test menu background --- _background_menu_test.rb | 74 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 _background_menu_test.rb diff --git a/_background_menu_test.rb b/_background_menu_test.rb new file mode 100644 index 0000000..e462a07 --- /dev/null +++ b/_background_menu_test.rb @@ -0,0 +1,74 @@ +require "gosu" +require_relative "lib/objects/text" + +class Window < Gosu::Window + def initialize + super(Gosu.screen_width, Gosu.screen_height, fullscreen: true) + $window = self + @size = 50 + @slope = 250 + @color_step = 10 + @base_color = Gosu::Color.rgb(255, 127, 0) + @title = Text.new("I-MIC FPS", color: Gosu::Color.rgb(255,127,0), size: 100, x: 0, y: 15, alignment: :center) + @singleplayer = Text.new("Singleplayer", color: Gosu::Color.rgb(0,127,127), size: 50, x: 0, y: 150, alignment: :center) + end + + def draw + @background ||= Gosu.record(Gosu.screen_width, Gosu.screen_height) do + ((Gosu.screen_height+@slope)/@size).times do |i| + fill_quad( + 0, i*@size, + 0, @slope+(i*@size), + Gosu.screen_width/2, (-@slope)+(i*@size), + Gosu.screen_width/2, i*@size, + Gosu::Color.rgba(@base_color.red-i*@color_step, @base_color.green-i*@color_step, @base_color.blue-i*@color_step, 200) + ) + fill_quad( + Gosu.screen_width, i*@size, + Gosu.screen_width, @slope+(i*@size), + Gosu.screen_width/2, (-@slope)+(i*@size), + Gosu.screen_width/2, i*@size, + Gosu::Color.rgba(@base_color.red-i*@color_step, @base_color.green-i*@color_step, @base_color.blue-i*@color_step, 200) + ) + end + end + + @background.draw(0, 0, 0) + draw_rect( + Gosu.screen_width/4, 0, + Gosu.screen_width/2, Gosu.screen_height, + Gosu::Color.rgba(100, 100, 100, 150) + # Gosu::Color.rgba(@base_color.red+@color_step, @base_color.green+@color_step, @base_color.blue+@color_step, 200) + ) + @title.draw + @singleplayer.draw + + fill_quad( + mouse_x, mouse_y, + mouse_x+16, mouse_y+16, + mouse_x, mouse_y+16, + mouse_x, mouse_y+16, + Gosu::Color::RED, Float::INFINITY + ) + end + + def fill_quad(x1, y1, x2, y2, x3, y3, x4, y4, color = Gosu::Color::WHITE, z = 0, mode = :default) + draw_quad( + x1,y1, color, + x2,y2, color, + x3,y3, color, + x4,y4, color, + z, mode + ) + end + + def button_up(id) + close if id == Gosu::KbEscape + end + + def needs_cursor? + false + end +end + +Window.new.show \ No newline at end of file