line-em-up 0.3.1 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/menu_launcher.rb +105 -0
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 07c5ee52c80e6f14468d94fcc8086c9505938464
|
4
|
+
data.tar.gz: b0739db1c6e3f4faec0b72df9a68bf573b5794d7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: df75d97d75252dd718fed343b33d23cf045439f93c17f50181c3d9118ac8532374306d6f596766e62edf64654b6f342665bab0eb31b06bc77aea809fee988528
|
7
|
+
data.tar.gz: 3ae0aba93e73f1fa98ef33fdc545a30ee7c4b199596180e9086156796683049947e2fb885bf1981c8e4b70a4f348ce7a4307620aa588a87e80efd223d5875e94
|
data/menu_launcher.rb
ADDED
@@ -0,0 +1,105 @@
|
|
1
|
+
require 'gosu'
|
2
|
+
|
3
|
+
CURRENT_DIRECTORY = File.expand_path('../', __FILE__)
|
4
|
+
MEDIA_DIRECTORY = File.expand_path('../', __FILE__) + "/media"
|
5
|
+
CONFIG_FILE = "#{CURRENT_DIRECTORY}/config.txt"
|
6
|
+
|
7
|
+
Dir["#{CURRENT_DIRECTORY}/line-em-up/lib/*.rb"].each { |f| require f }
|
8
|
+
# Shouldn't need models
|
9
|
+
# Dir["#{CURRENT_DIRECTORY}/line-em-up/models/*.rb"].each { |f| require f }
|
10
|
+
|
11
|
+
require "#{CURRENT_DIRECTORY}/line-em-up/game_window.rb"
|
12
|
+
|
13
|
+
# @menu = Menu.new(self) #instantiate the menu, passing the Window in the constructor
|
14
|
+
|
15
|
+
# @menu.add_item(Gosu::Image.new("#{MEDIA_DIRECTORY}question.png"), 100, 200, 1, lambda { self.close }, Gosu::Image.new(self, "#{MEDIA_DIRECTORY}question.png", false))
|
16
|
+
# @menu.add_item(Gosu::Image.new("#{MEDIA_DIRECTORY}question.png"), 100, 250, 1, lambda { puts "something" }, Gosu::Image.new(self, "#{MEDIA_DIRECTORY}question.png", false))
|
17
|
+
|
18
|
+
|
19
|
+
class Main < Gosu::Window
|
20
|
+
def initialize
|
21
|
+
@width, @height = ResolutionSetting::RESOLUTIONS[0].split('x').collect{|s| s.to_i}
|
22
|
+
super(@width, @height, false)
|
23
|
+
@cursor = Gosu::Image.new(self, "#{MEDIA_DIRECTORY}/cursor.png", false)
|
24
|
+
@gl_background = GLBackground.new
|
25
|
+
# x = self.width / 2 - 100
|
26
|
+
# y = self.height / 2 - 100
|
27
|
+
@center_ui_y = 0
|
28
|
+
@center_ui_x = 0
|
29
|
+
reset_center_font_ui_y
|
30
|
+
lineHeight = 50
|
31
|
+
@font = Gosu::Font.new(20)
|
32
|
+
self.caption = "A menu with Gosu"
|
33
|
+
# items = Array["exit", "additem", "item"]
|
34
|
+
# actions = Array[lambda { self.close }, lambda {
|
35
|
+
# @menu.add_item(Gosu::Image.new(self, "#{MEDIA_DIRECTORY}/item.png", false), x, y, 1, lambda { })
|
36
|
+
# y += lineHeight
|
37
|
+
# }, lambda {}]
|
38
|
+
@menu = Menu.new(self)
|
39
|
+
# for i in (0..items.size - 1)
|
40
|
+
# @menu.add_item(Gosu::Image.new(self, "#{MEDIA_DIRECTORY}/#{items[i]}.png", false), x, y, 1, actions[i], Gosu::Image.new(self, "#{MEDIA_DIRECTORY}/#{items[i]}_hover.png", false))
|
41
|
+
# y += lineHeight
|
42
|
+
# end
|
43
|
+
exit_image = Gosu::Image.new("#{MEDIA_DIRECTORY}/exit.png")
|
44
|
+
# puts "WIDTH HERE: #{exit_image.width}"
|
45
|
+
# 8
|
46
|
+
@menu.add_item(exit_image, ((@width / 2) - (exit_image.width / 2)), get_center_font_ui_y, 1, lambda { self.close }, exit_image)
|
47
|
+
window_height = Gosu.screen_height
|
48
|
+
@resolution_menu = ResolutionSetting.new(window_height, @width, @height, get_center_font_ui_y, CONFIG_FILE)
|
49
|
+
|
50
|
+
start_image = Gosu::Image.new("#{MEDIA_DIRECTORY}/start.png")
|
51
|
+
@game_window_width, @game_window_height, @full_screen = [nil, nil, nil]
|
52
|
+
@menu.add_item(start_image, (@width / 2) - (start_image.width / 2), get_center_font_ui_y, 1, lambda {self.close; GameWindow.start(@game_window_width, @game_window_height, dynamic_get_resolution_fs, {block_controls_until_button_up: true}) }, start_image)
|
53
|
+
debug_start_image = Gosu::Image.new("#{MEDIA_DIRECTORY}/debug_start.png")
|
54
|
+
@menu.add_item(debug_start_image, (@width / 2) - (debug_start_image.width / 2), get_center_font_ui_y, 1, lambda {self.close; GameWindow.start(@game_window_width, @game_window_height, dynamic_get_resolution_fs, {block_controls_until_button_up: true, debug: true}) }, start_image)
|
55
|
+
# @font.draw("<", width + 15, get_center_font_ui_y, 1, 1.0, 1.0, 0xff_ffff00)
|
56
|
+
# @font.draw("Resolution", width / 2, get_center_font_ui_y, 1, 1.0, 1.0, 0xff_ffff00)
|
57
|
+
# @font.draw(">", width - 15, get_center_font_ui_y, 1, 1.0, 1.0, 0xff_ffff00)
|
58
|
+
# @menu.add_item(Gosu::Image.new(self, "#{MEDIA_DIRECTORY}/start.png", false), get_center_font_ui_x, get_center_font_ui_y, 1, lambda { self.close; GameWindow.start(nil, nil, {block_controls_until_button_up: true}) }, Gosu::Image.new(self, "#{MEDIA_DIRECTORY}/start.png", false))
|
59
|
+
end
|
60
|
+
|
61
|
+
def dynamic_get_resolution_fs
|
62
|
+
@fullscreen
|
63
|
+
end
|
64
|
+
|
65
|
+
def update
|
66
|
+
@menu.update
|
67
|
+
@resolution_menu.update(self.mouse_x, self.mouse_y)
|
68
|
+
|
69
|
+
@game_window_width, @game_window_height, @fullscreen = @resolution_menu.get_resolution
|
70
|
+
@gl_background.scroll
|
71
|
+
end
|
72
|
+
|
73
|
+
def draw
|
74
|
+
@cursor.draw(self.mouse_x, self.mouse_y, 2)
|
75
|
+
# @back.draw(0,0,0)
|
76
|
+
reset_center_font_ui_y
|
77
|
+
@menu.draw
|
78
|
+
@resolution_menu.draw
|
79
|
+
@gl_background.draw(ZOrder::Background)
|
80
|
+
end
|
81
|
+
|
82
|
+
def button_down id
|
83
|
+
if id == Gosu::MsLeft then
|
84
|
+
@menu.clicked
|
85
|
+
@resolution_menu.clicked(self.mouse_x, self.mouse_y)
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
def get_center_font_ui_y
|
90
|
+
return_value = @center_ui_y
|
91
|
+
@center_ui_y += 50
|
92
|
+
return return_value
|
93
|
+
end
|
94
|
+
|
95
|
+
def get_center_font_ui_x
|
96
|
+
return @center_ui_x
|
97
|
+
end
|
98
|
+
|
99
|
+
def reset_center_font_ui_y
|
100
|
+
@center_ui_y = self.height / 2 - 100
|
101
|
+
@center_ui_x = self.width / 2 - 100
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
Main.new.show
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: line-em-up
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Dana
|
@@ -191,6 +191,7 @@ files:
|
|
191
191
|
- line-em-up/media/start.png
|
192
192
|
- line-em-up/media/tileset.png
|
193
193
|
- line-em-up/media/vera.ttf
|
194
|
+
- menu_launcher.rb
|
194
195
|
homepage: https://github.com/danabr75/line-em-up
|
195
196
|
licenses:
|
196
197
|
- MIT
|