mirror of
https://github.com/cyberarm/i-mic-fps.git
synced 2025-12-15 15:42:35 +00:00
Updated menus, added background to Tools
This commit is contained in:
@@ -52,19 +52,21 @@ class IMICFPS
|
||||
)
|
||||
end
|
||||
|
||||
def menu_background(color, color_step, transparency, bar_size, slope)
|
||||
def menu_background(primary_color, accent_color, color_step, transparency, bar_size, slope)
|
||||
((Gosu.screen_height + slope) / bar_size).times do |i|
|
||||
color = Gosu::Color.rgba(
|
||||
primary_color.red - i * color_step,
|
||||
primary_color.green - i * color_step,
|
||||
primary_color.blue - i * color_step,
|
||||
transparency
|
||||
)
|
||||
|
||||
fill_quad(
|
||||
0, i * bar_size,
|
||||
0, slope + (i * bar_size),
|
||||
window.width / 2, (-slope) + (i * bar_size),
|
||||
window.width / 2, i * bar_size,
|
||||
Gosu::Color.rgba(
|
||||
color.red - i * color_step,
|
||||
color.green - i * color_step,
|
||||
color.blue - i * color_step,
|
||||
transparency
|
||||
),
|
||||
color,
|
||||
-2
|
||||
)
|
||||
fill_quad(
|
||||
@@ -72,15 +74,18 @@ class IMICFPS
|
||||
window.width, slope + (i * bar_size),
|
||||
window.width / 2, (-slope) + (i * bar_size),
|
||||
window.width / 2, i * bar_size,
|
||||
Gosu::Color.rgba(
|
||||
color.red - i * color_step,
|
||||
color.green - i * color_step,
|
||||
color.blue - i * color_step,
|
||||
transparency
|
||||
),
|
||||
color,
|
||||
-2
|
||||
)
|
||||
end
|
||||
|
||||
Gosu.draw_quad(
|
||||
0, 0, primary_color,
|
||||
window.width, 0, primary_color,
|
||||
window.width, window.height, accent_color,
|
||||
0, window.height, accent_color,
|
||||
-2
|
||||
)
|
||||
end
|
||||
|
||||
def gl_error?
|
||||
|
||||
@@ -19,17 +19,10 @@ class IMICFPS
|
||||
end
|
||||
|
||||
def draw
|
||||
menu_background(@primary_color, @color_step, @transparency, @bar_size, @slope)
|
||||
menu_background(@primary_color, @accent_color, @color_step, @transparency, @bar_size, @slope)
|
||||
|
||||
fraction_left = ((Gosu.milliseconds - @start_time) / (@time_to_live - 200).to_f)
|
||||
|
||||
Gosu.draw_quad(
|
||||
0, 0, @primary_color,
|
||||
window.width, 0, @primary_color,
|
||||
window.width, window.height, @accent_color,
|
||||
0, window.height, @accent_color
|
||||
)
|
||||
|
||||
if fraction_left <= 1.0
|
||||
Gosu.draw_circle(
|
||||
window.width / 2,
|
||||
|
||||
@@ -34,7 +34,8 @@ class IMICFPS
|
||||
@completed_for_ms = 0
|
||||
@lock = false
|
||||
|
||||
@base_color = Gosu::Color.rgb(0, 180, 180)
|
||||
@primary_color = Gosu::Color.rgba(0, 180, 180, 200)
|
||||
@accent_color = Gosu::Color.rgba(0, 90, 90, 200)
|
||||
end
|
||||
|
||||
def draw
|
||||
@@ -115,9 +116,9 @@ class IMICFPS
|
||||
progress = (@asset_index.to_f/@assets.count)*window.width/2
|
||||
height = 100
|
||||
|
||||
dark_color= Gosu::Color.rgb(@base_color.red - 100, @base_color.green - 100, @base_color.blue - 100)#Gosu::Color.rgb(64, 127, 255)
|
||||
color = Gosu::Color.rgb(@base_color.red - 50, @base_color.green - 50, @base_color.blue - 50)#Gosu::Color.rgb(0,127,127)
|
||||
color_two = Gosu::Color.rgb(@base_color.red + 50, @base_color.green + 50, @base_color.blue + 50)#Gosu::Color.rgb(64, 127, 255)
|
||||
dark_color= Gosu::Color.rgb(@primary_color.red - 100, @primary_color.green - 100, @primary_color.blue - 100)#Gosu::Color.rgb(64, 127, 255)
|
||||
color = Gosu::Color.rgb(@primary_color.red - 50, @primary_color.green - 50, @primary_color.blue - 50)#Gosu::Color.rgb(0,127,127)
|
||||
color_two = Gosu::Color.rgb(@primary_color.red + 50, @primary_color.green + 50, @primary_color.blue + 50)#Gosu::Color.rgb(64, 127, 255)
|
||||
|
||||
draw_rect(x, y-2, x + window.width/4, height+4, dark_color)
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
class IMICFPS
|
||||
class AssetViewerTool
|
||||
class MainMenu < CyberarmEngine::GuiState
|
||||
include CommonMethods
|
||||
def setup
|
||||
window.needs_cursor = true
|
||||
|
||||
@@ -31,6 +32,11 @@ class IMICFPS
|
||||
end
|
||||
end
|
||||
|
||||
def draw
|
||||
menu_background(Menu::PRIMARY_COLOR, Menu::ACCENT_COLOR, Menu::BAR_COLOR_STEP, Menu::BAR_ALPHA, Menu::BAR_SIZE, Menu::BAR_SLOPE)
|
||||
super
|
||||
end
|
||||
|
||||
def update
|
||||
super
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
class IMICFPS
|
||||
class MapEditorTool
|
||||
class MainMenu < CyberarmEngine::GuiState
|
||||
include CommonMethods
|
||||
|
||||
def setup
|
||||
window.needs_cursor = true
|
||||
|
||||
@@ -35,6 +37,11 @@ class IMICFPS
|
||||
end
|
||||
end
|
||||
|
||||
def draw
|
||||
menu_background(Menu::PRIMARY_COLOR, Menu::ACCENT_COLOR, Menu::BAR_COLOR_STEP, Menu::BAR_ALPHA, Menu::BAR_SIZE, Menu::BAR_SLOPE)
|
||||
super
|
||||
end
|
||||
|
||||
def update
|
||||
super
|
||||
|
||||
|
||||
@@ -1,12 +1,21 @@
|
||||
class IMICFPS
|
||||
class Menu < IMICFPS::GameState
|
||||
PRIMARY_COLOR = Gosu::Color.rgba(255, 127, 0, 200)
|
||||
ACCENT_COLOR = Gosu::Color.rgba(155, 27, 0, 200)
|
||||
|
||||
BAR_SIZE = 50
|
||||
BAR_SLOPE = 250
|
||||
BAR_COLOR_STEP = 10
|
||||
BAR_ALPHA = 200
|
||||
|
||||
def initialize(*args)
|
||||
@elements = []
|
||||
@size = 50
|
||||
@slope = 250
|
||||
@color_step = 10
|
||||
@base_color = Gosu::Color.rgb(255, 127, 0)
|
||||
@background_alpha = 200
|
||||
@bar_size = BAR_SIZE
|
||||
@bar_slope = BAR_SLOPE
|
||||
@bar_color_step = BAR_COLOR_STEP
|
||||
@bar_alpha = BAR_ALPHA
|
||||
@primary_color = PRIMARY_COLOR
|
||||
@accent_color = ACCENT_COLOR
|
||||
window.needs_cursor = true
|
||||
|
||||
@__version_text = CyberarmEngine::Text.new("<b>#{IMICFPS::NAME}</b> v#{IMICFPS::VERSION} (#{IMICFPS::RELEASE_NAME})")
|
||||
@@ -15,7 +24,7 @@ class IMICFPS
|
||||
super(*args)
|
||||
end
|
||||
|
||||
def title(text, color = @base_color)
|
||||
def title(text, color = Gosu::Color::BLACK)
|
||||
@elements << Text.new(text, color: color, size: 100, x: 0, y: 15)
|
||||
@_title = @elements.last
|
||||
end
|
||||
@@ -31,7 +40,7 @@ class IMICFPS
|
||||
end
|
||||
|
||||
def draw
|
||||
menu_background(@base_color, @color_step, @background_alpha, @size, @slope)
|
||||
menu_background(@primary_color, @accent_color, @bar_color_step, @bar_alpha, @bar_size, @bar_slope)
|
||||
draw_menu_box
|
||||
draw_menu
|
||||
|
||||
@@ -50,7 +59,7 @@ class IMICFPS
|
||||
draw_rect(
|
||||
window.width/4, 0,
|
||||
window.width/2, window.height,
|
||||
Gosu::Color.rgba(0, 0, 0, 150),
|
||||
Gosu::Color.new(0x22222222),
|
||||
)
|
||||
end
|
||||
|
||||
@@ -62,7 +71,7 @@ class IMICFPS
|
||||
|
||||
def update
|
||||
@elements.each do |e|
|
||||
e.x = window.width / 2 - e.width / 2
|
||||
e.x = (window.width / 2 - e.width / 2).round
|
||||
e.update
|
||||
end
|
||||
|
||||
@@ -95,19 +104,17 @@ class IMICFPS
|
||||
def initialize(text, host, block)
|
||||
@text, @host, @block = text, host, block
|
||||
@color = @text.color
|
||||
@hover_color = Gosu::Color.rgb(64, 127, 255)
|
||||
@hover_color = Gosu::Color.rgb(64, 128, 255)
|
||||
@text.shadow_color= Gosu::Color::BLACK
|
||||
@text.shadow_size = 2
|
||||
@text.shadow_alpha = 100
|
||||
end
|
||||
|
||||
def update
|
||||
if @host.mouse_over?(self)
|
||||
@text.color = @hover_color
|
||||
@text.shadow_color= Gosu::Color::BLACK
|
||||
@text.shadow_size = 3
|
||||
else
|
||||
@text.color = @color
|
||||
@text.shadow_color = nil
|
||||
@text.shadow_size = 1
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
class IMICFPS
|
||||
class Window < CyberarmEngine::Engine
|
||||
class Window < CyberarmEngine::Window
|
||||
attr_accessor :number_of_vertices, :needs_cursor
|
||||
attr_reader :renderer, :scene, :config
|
||||
|
||||
|
||||
Reference in New Issue
Block a user