gosu-examples 1.0.5 → 1.0.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/bin/gosu-examples +3 -5
- data/examples/chipmunk_and_rmagick.rb +17 -19
- data/examples/chipmunk_integration.rb +42 -44
- data/examples/cptn_ruby.rb +19 -21
- data/examples/opengl_integration.rb +59 -59
- data/examples/rmagick_integration.rb +74 -74
- data/examples/text_input.rb +26 -27
- data/examples/tutorial.rb +21 -23
- data/examples/welcome.rb +17 -19
- data/lib/gosu-examples/example.rb +18 -18
- data/lib/gosu-examples/sidebar.rb +14 -14
- metadata +9 -36
- data/examples/media/BrokenPNG.png +0 -0
- data/examples/media/Cursor.png +0 -0
- data/examples/media/JingleBells.mp3 +0 -0
- data/examples/media/JingleBells.ogg +0 -0
- data/examples/media/Loop.wav +0 -0
- data/examples/media/Sample.wav +0 -0
- data/examples/media/SquareTexture.png +0 -0
- data/examples/media/Wallpaper.png +0 -0
- data/examples/media/WallpaperXXL.png +0 -0
- data/examples/media/WhiteAlpha.png +0 -0
- data/examples/media/audio_formats/aiff_32bit_float.aiff +0 -0
- data/examples/media/audio_formats/au_16bit_pcm.au +0 -0
- data/examples/media/audio_formats/caf_be_16bit_44khz.caf +0 -0
- data/examples/media/audio_formats/caf_le_16bit_44khz.caf +0 -0
- data/examples/media/audio_formats/caf_le_8bit_44khz.caf +0 -0
- data/examples/media/audio_formats/general_midi.mid +0 -0
- data/examples/media/audio_formats/impulse_tracker.it +0 -0
- data/examples/media/audio_formats/mp3_128k_stereo.mp3 +0 -0
- data/examples/media/audio_formats/mp3_avg_96kbit_jointstereo.mp3 +0 -0
- data/examples/media/audio_formats/ogg_vorbis.ogg +0 -0
- data/examples/media/audio_formats/wav_16bit_pcm.wav +0 -0
- data/examples/media/audio_formats/wav_32bit_pcm.wav +0 -0
- data/examples/media/audio_formats/wav_4bit_ms_adpcm.wav +0 -0
- data/examples/media/image_formats/test.jpg +0 -0
- data/examples/media/image_formats/test.psd +0 -0
- data/examples/media/vera.ttf +0 -0
data/examples/text_input.rb
CHANGED
@@ -24,31 +24,31 @@ class TextField < Gosu::TextInput
|
|
24
24
|
WIDTH = 350
|
25
25
|
LENGTH_LIMIT = 20
|
26
26
|
PADDING = 5
|
27
|
-
|
28
|
-
INACTIVE_COLOR
|
29
|
-
ACTIVE_COLOR
|
27
|
+
|
28
|
+
INACTIVE_COLOR = 0xcc_666666
|
29
|
+
ACTIVE_COLOR = 0xcc_ff6666
|
30
30
|
SELECTION_COLOR = 0xcc_0000ff
|
31
|
-
CARET_COLOR
|
32
|
-
|
31
|
+
CARET_COLOR = 0xff_ffffff
|
32
|
+
|
33
33
|
attr_reader :x, :y
|
34
|
-
|
34
|
+
|
35
35
|
def initialize(window, x, y)
|
36
36
|
# It's important to call the inherited constructor.
|
37
37
|
super()
|
38
|
-
|
38
|
+
|
39
39
|
@window, @x, @y = window, x, y
|
40
|
-
|
40
|
+
|
41
41
|
# Start with a self-explanatory text in each field.
|
42
42
|
self.text = "Click to edit"
|
43
43
|
end
|
44
|
-
|
44
|
+
|
45
45
|
# In this example, we use the filter method to prevent the user from entering a text that exceeds
|
46
46
|
# the length limit. However, you can also use this to blacklist certain characters, etc.
|
47
|
-
def filter
|
47
|
+
def filter(new_text)
|
48
48
|
allowed_length = [LENGTH_LIMIT - text.length, 0].max
|
49
49
|
new_text[0, allowed_length]
|
50
50
|
end
|
51
|
-
|
51
|
+
|
52
52
|
def draw(z)
|
53
53
|
# Change the background colour if this is the currently selected text field.
|
54
54
|
if @window.text_input == self
|
@@ -57,12 +57,12 @@ class TextField < Gosu::TextInput
|
|
57
57
|
color = INACTIVE_COLOR
|
58
58
|
end
|
59
59
|
Gosu.draw_rect x - PADDING, y - PADDING, WIDTH + 2 * PADDING, height + 2 * PADDING, color, z
|
60
|
-
|
60
|
+
|
61
61
|
# Calculate the position of the caret and the selection start.
|
62
62
|
pos_x = x + FONT.text_width(self.text[0...self.caret_pos])
|
63
63
|
sel_x = x + FONT.text_width(self.text[0...self.selection_start])
|
64
64
|
sel_w = pos_x - sel_x
|
65
|
-
|
65
|
+
|
66
66
|
# Draw the selection background, if any. (If not, sel_x and pos_x will be
|
67
67
|
# the same value, making this a no-op call.)
|
68
68
|
Gosu.draw_rect sel_x, y, sel_w, height, SELECTION_COLOR, z
|
@@ -73,9 +73,9 @@ class TextField < Gosu::TextInput
|
|
73
73
|
end
|
74
74
|
|
75
75
|
# Finally, draw the text itself!
|
76
|
-
FONT.
|
76
|
+
FONT.draw_text self.text, x, y, z
|
77
77
|
end
|
78
|
-
|
78
|
+
|
79
79
|
def height
|
80
80
|
FONT.height
|
81
81
|
end
|
@@ -85,13 +85,13 @@ class TextField < Gosu::TextInput
|
|
85
85
|
@window.mouse_x > x - PADDING and @window.mouse_x < x + WIDTH + PADDING and
|
86
86
|
@window.mouse_y > y - PADDING and @window.mouse_y < y + height + PADDING
|
87
87
|
end
|
88
|
-
|
88
|
+
|
89
89
|
# Tries to move the caret to the position specifies by mouse_x
|
90
90
|
def move_caret_to_mouse
|
91
91
|
# Test character by character
|
92
92
|
1.upto(self.text.length) do |i|
|
93
93
|
if @window.mouse_x < x + FONT.text_width(text[0...i])
|
94
|
-
self.caret_pos = self.selection_start = i - 1
|
94
|
+
self.caret_pos = self.selection_start = i - 1
|
95
95
|
return
|
96
96
|
end
|
97
97
|
end
|
@@ -104,24 +104,23 @@ class TextInputDemo < (Example rescue Gosu::Window)
|
|
104
104
|
def initialize
|
105
105
|
super 640, 480
|
106
106
|
self.caption = "Text Input Demo"
|
107
|
-
|
108
|
-
|
107
|
+
|
109
108
|
text =
|
110
109
|
"This demo explains (in the source code) how to use the Gosu::TextInput API by building a little TextField class around it.
|
111
|
-
|
110
|
+
|
112
111
|
Each text field can take up to 30 characters, and you can use Tab to switch between them.
|
113
112
|
|
114
|
-
As in every example, press <b>
|
115
|
-
|
113
|
+
As in every example, press <b>E</b> to look at the source code."
|
114
|
+
|
116
115
|
# Remove all leading spaces so the text is left-aligned
|
117
116
|
text.gsub! /^ +/, ""
|
118
|
-
|
119
|
-
@text = Gosu::Image.
|
120
|
-
|
117
|
+
|
118
|
+
@text = Gosu::Image.from_markup text, 20, width: 540
|
119
|
+
|
121
120
|
# Set up an array of three text fields.
|
122
121
|
@text_fields = Array.new(3) { |index| TextField.new(self, 50, 300 + index * 50) }
|
123
122
|
end
|
124
|
-
|
123
|
+
|
125
124
|
def needs_cursor?
|
126
125
|
true
|
127
126
|
end
|
@@ -130,7 +129,7 @@ class TextInputDemo < (Example rescue Gosu::Window)
|
|
130
129
|
@text.draw 50, 50, 0
|
131
130
|
@text_fields.each { |tf| tf.draw(0) }
|
132
131
|
end
|
133
|
-
|
132
|
+
|
134
133
|
def button_down(id)
|
135
134
|
if id == Gosu::KB_TAB
|
136
135
|
# Tab key will not be 'eaten' by text fields; use for switching through
|
data/examples/tutorial.rb
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
# Encoding: UTF-8
|
2
|
-
|
3
1
|
require "gosu"
|
4
2
|
|
5
3
|
module ZOrder
|
@@ -8,45 +6,45 @@ end
|
|
8
6
|
|
9
7
|
class Player
|
10
8
|
attr_reader :score
|
11
|
-
|
9
|
+
|
12
10
|
def initialize
|
13
11
|
@image = Gosu::Image.new("media/starfighter.bmp")
|
14
12
|
@beep = Gosu::Sample.new("media/beep.wav")
|
15
13
|
@x = @y = @vel_x = @vel_y = @angle = 0.0
|
16
14
|
@score = 0
|
17
15
|
end
|
18
|
-
|
16
|
+
|
19
17
|
def warp(x, y)
|
20
18
|
@x, @y = x, y
|
21
19
|
end
|
22
|
-
|
20
|
+
|
23
21
|
def turn_left
|
24
22
|
@angle -= 4.5
|
25
23
|
end
|
26
|
-
|
24
|
+
|
27
25
|
def turn_right
|
28
26
|
@angle += 4.5
|
29
27
|
end
|
30
|
-
|
28
|
+
|
31
29
|
def accelerate
|
32
30
|
@vel_x += Gosu.offset_x(@angle, 0.5)
|
33
31
|
@vel_y += Gosu.offset_y(@angle, 0.5)
|
34
32
|
end
|
35
|
-
|
33
|
+
|
36
34
|
def move
|
37
35
|
@x += @vel_x
|
38
36
|
@y += @vel_y
|
39
37
|
@x %= 640
|
40
38
|
@y %= 480
|
41
|
-
|
39
|
+
|
42
40
|
@vel_x *= 0.95
|
43
41
|
@vel_y *= 0.95
|
44
42
|
end
|
45
|
-
|
43
|
+
|
46
44
|
def draw
|
47
45
|
@image.draw_rot(@x, @y, ZOrder::PLAYER, @angle)
|
48
46
|
end
|
49
|
-
|
47
|
+
|
50
48
|
def collect_stars(stars)
|
51
49
|
stars.reject! do |star|
|
52
50
|
if Gosu.distance(@x, @y, star.x, star.y) < 35
|
@@ -62,7 +60,7 @@ end
|
|
62
60
|
|
63
61
|
class Star
|
64
62
|
attr_reader :x, :y
|
65
|
-
|
63
|
+
|
66
64
|
def initialize(animation)
|
67
65
|
@animation = animation
|
68
66
|
@color = Gosu::Color::BLACK.dup
|
@@ -72,11 +70,11 @@ class Star
|
|
72
70
|
@x = rand * 640
|
73
71
|
@y = rand * 480
|
74
72
|
end
|
75
|
-
|
73
|
+
|
76
74
|
def draw
|
77
75
|
img = @animation[Gosu.milliseconds / 100 % @animation.size]
|
78
76
|
img.draw(@x - img.width / 2.0, @y - img.height / 2.0,
|
79
|
-
|
77
|
+
ZOrder::STARS, 1, 1, @color, :add)
|
80
78
|
end
|
81
79
|
end
|
82
80
|
|
@@ -84,18 +82,18 @@ class Tutorial < (Example rescue Gosu::Window)
|
|
84
82
|
def initialize
|
85
83
|
super 640, 480
|
86
84
|
self.caption = "Tutorial Game"
|
87
|
-
|
85
|
+
|
88
86
|
@background_image = Gosu::Image.new("media/space.png", tileable: true)
|
89
|
-
|
87
|
+
|
90
88
|
@player = Player.new
|
91
89
|
@player.warp(320, 240)
|
92
|
-
|
90
|
+
|
93
91
|
@star_anim = Gosu::Image::load_tiles("media/star.png", 25, 25)
|
94
92
|
@stars = Array.new
|
95
|
-
|
93
|
+
|
96
94
|
@font = Gosu::Font.new(20)
|
97
95
|
end
|
98
|
-
|
96
|
+
|
99
97
|
def update
|
100
98
|
if Gosu.button_down? Gosu::KB_LEFT or Gosu.button_down? Gosu::GP_LEFT
|
101
99
|
@player.turn_left
|
@@ -108,19 +106,19 @@ class Tutorial < (Example rescue Gosu::Window)
|
|
108
106
|
end
|
109
107
|
@player.move
|
110
108
|
@player.collect_stars(@stars)
|
111
|
-
|
109
|
+
|
112
110
|
if rand(100) < 4 and @stars.size < 25
|
113
111
|
@stars.push(Star.new(@star_anim))
|
114
112
|
end
|
115
113
|
end
|
116
|
-
|
114
|
+
|
117
115
|
def draw
|
118
116
|
@background_image.draw(0, 0, ZOrder::BACKGROUND)
|
119
117
|
@player.draw
|
120
118
|
@stars.each { |star| star.draw }
|
121
|
-
@font.
|
119
|
+
@font.draw_text("Score: #{@player.score}", 10, 10, ZOrder::UI, 1.0, 1.0, Gosu::Color::YELLOW)
|
122
120
|
end
|
123
|
-
|
121
|
+
|
124
122
|
def button_down(id)
|
125
123
|
if id == Gosu::KB_ESCAPE
|
126
124
|
close
|
data/examples/welcome.rb
CHANGED
@@ -1,54 +1,52 @@
|
|
1
|
-
# Encoding: UTF-8
|
2
|
-
|
3
1
|
require "gosu"
|
4
2
|
|
5
3
|
WIDTH, HEIGHT = 640, 480
|
6
4
|
|
7
5
|
class Welcome < (Example rescue Gosu::Window)
|
8
6
|
PADDING = 20
|
9
|
-
|
7
|
+
|
10
8
|
def initialize
|
11
9
|
super WIDTH, HEIGHT
|
12
|
-
|
10
|
+
|
13
11
|
self.caption = "Welcome!"
|
14
|
-
|
12
|
+
|
15
13
|
text =
|
16
14
|
"<b>Welcome to the Gosu Example Box!</b>
|
17
|
-
|
15
|
+
|
18
16
|
This little tool lets you launch any of Gosu’s example games from the list on the right hand side of the screen.
|
19
|
-
|
17
|
+
|
20
18
|
Every example can be run both from this tool <i>and</i> from the terminal/command line as a stand-alone Ruby script.
|
21
|
-
|
19
|
+
|
22
20
|
Keyboard shortcuts:
|
23
|
-
|
21
|
+
|
24
22
|
• To see the source code of an example or feature demo, press <b>E</b>.
|
25
23
|
• To open the ‘examples’ folder, press <b>O</b>.
|
26
24
|
• To quit this tool, press <b>Esc</b>.
|
27
25
|
• To toggle fullscreen mode, press <b>Alt+Enter</b> (Windows, Linux) or <b>cmd+F</b> (macOS).
|
28
|
-
|
26
|
+
|
29
27
|
Why not take a look at the code for this example right now? Simply press <b>E</b>."
|
30
|
-
|
28
|
+
|
31
29
|
# Remove all leading spaces so the text is left-aligned
|
32
30
|
text.gsub! /^ +/, ""
|
33
|
-
|
34
|
-
@text = Gosu::Image.
|
35
|
-
|
31
|
+
|
32
|
+
@text = Gosu::Image.from_markup text, 20, width: WIDTH - 2 * PADDING
|
33
|
+
|
36
34
|
@background = Gosu::Image.new "media/space.png"
|
37
35
|
end
|
38
|
-
|
36
|
+
|
39
37
|
def draw
|
40
38
|
draw_rotating_star_backgrounds
|
41
|
-
|
39
|
+
|
42
40
|
@text.draw PADDING, PADDING, 0
|
43
41
|
end
|
44
|
-
|
42
|
+
|
45
43
|
def draw_rotating_star_backgrounds
|
46
44
|
# Disregard the math in this method, it doesn't look as good as I thought it
|
47
45
|
# would. =(
|
48
|
-
|
46
|
+
|
49
47
|
angle = Gosu.milliseconds / 50.0
|
50
48
|
scale = (Gosu.milliseconds % 1000) / 1000.0
|
51
|
-
|
49
|
+
|
52
50
|
[1, 0].each do |extra_scale|
|
53
51
|
@background.draw_rot WIDTH * 0.5, HEIGHT * 0.75, 0, angle, 0.5, 0.5,
|
54
52
|
scale + extra_scale, scale + extra_scale
|
@@ -2,23 +2,23 @@ class Example
|
|
2
2
|
attr_accessor :caption
|
3
3
|
attr_reader :width, :height
|
4
4
|
attr_writer :parent_window
|
5
|
-
|
5
|
+
|
6
6
|
def initialize(width, height, *options)
|
7
7
|
@width, @height = width, height
|
8
8
|
end
|
9
|
-
|
9
|
+
|
10
10
|
def draw
|
11
11
|
end
|
12
|
-
|
12
|
+
|
13
13
|
def update
|
14
14
|
end
|
15
|
-
|
15
|
+
|
16
16
|
def button_down(id)
|
17
17
|
end
|
18
|
-
|
18
|
+
|
19
19
|
def button_up(id)
|
20
20
|
end
|
21
|
-
|
21
|
+
|
22
22
|
def close
|
23
23
|
# no-op, examples cannot close the containing window.
|
24
24
|
end
|
@@ -26,53 +26,53 @@ class Example
|
|
26
26
|
def mouse_x
|
27
27
|
@parent_window && @parent_window.mouse_x
|
28
28
|
end
|
29
|
-
|
29
|
+
|
30
30
|
def mouse_y
|
31
31
|
@parent_window && @parent_window.mouse_y
|
32
32
|
end
|
33
|
-
|
33
|
+
|
34
34
|
def text_input
|
35
35
|
@parent_window && @parent_window.text_input
|
36
36
|
end
|
37
|
-
|
37
|
+
|
38
38
|
def text_input=(text_input)
|
39
39
|
@parent_window && @parent_window.text_input = text_input
|
40
40
|
end
|
41
|
-
|
41
|
+
|
42
42
|
def self.current_source_file
|
43
43
|
@current_source_file
|
44
44
|
end
|
45
|
-
|
45
|
+
|
46
46
|
def self.current_source_file=(current_source_file)
|
47
47
|
@current_source_file = current_source_file
|
48
48
|
end
|
49
|
-
|
49
|
+
|
50
50
|
def self.inherited(subclass)
|
51
51
|
@@examples ||= {}
|
52
52
|
@@examples[subclass] = self.current_source_file
|
53
53
|
end
|
54
|
-
|
54
|
+
|
55
55
|
def self.examples
|
56
56
|
@@examples.keys
|
57
57
|
end
|
58
|
-
|
58
|
+
|
59
59
|
def self.source_file
|
60
60
|
@@examples[self]
|
61
61
|
end
|
62
|
-
|
62
|
+
|
63
63
|
def self.initial_example
|
64
64
|
@@examples.keys.find { |cls| cls.name.end_with? "::Welcome" }
|
65
65
|
end
|
66
|
-
|
66
|
+
|
67
67
|
def self.load_examples(pattern)
|
68
|
-
Dir.glob(pattern) do |file|
|
68
|
+
Dir.glob(pattern) do |file|
|
69
69
|
begin
|
70
70
|
# Remember which file we are loading.
|
71
71
|
Example.current_source_file = File.expand_path(file)
|
72
72
|
|
73
73
|
# Load the example in a sandbox module (second parameter to load()). This way, examples can
|
74
74
|
# define classes and constants with the same names, and they will not collide.
|
75
|
-
#
|
75
|
+
#
|
76
76
|
# load() does not let us refer to the anonymous module it creates, but we can enumerate all
|
77
77
|
# loaded examples using Example.examples thanks to the "inherited" callback above.
|
78
78
|
load file, true
|
@@ -3,56 +3,56 @@ class Sidebar
|
|
3
3
|
HEIGHT = 600
|
4
4
|
FONT = Gosu::Font.new(20)
|
5
5
|
HEADER = Gosu::Image.new("media/header@2x.psd", tileable: true)
|
6
|
-
|
6
|
+
|
7
7
|
class Button
|
8
8
|
HEIGHT = 25
|
9
9
|
SPACING = 5
|
10
10
|
TOP_Y = HEADER.height / 2 + 15
|
11
|
-
|
11
|
+
|
12
12
|
attr_reader :filename
|
13
|
-
|
13
|
+
|
14
14
|
def initialize(top, filename, &handler)
|
15
15
|
@top, @filename, @handler = top, filename, handler
|
16
16
|
end
|
17
|
-
|
17
|
+
|
18
18
|
def draw(is_current)
|
19
19
|
text_color = Gosu::Color::BLACK
|
20
|
-
|
20
|
+
|
21
21
|
if is_current
|
22
22
|
Gosu.draw_rect 0, @top, Sidebar::WIDTH, HEIGHT, 0xff_1565e5
|
23
23
|
text_color = Gosu::Color::WHITE
|
24
24
|
end
|
25
|
-
|
26
|
-
FONT.
|
25
|
+
|
26
|
+
FONT.draw_text File.basename(@filename), 13, @top + 2, 0, 1, 1, text_color
|
27
27
|
end
|
28
|
-
|
28
|
+
|
29
29
|
def click
|
30
30
|
@handler.call
|
31
31
|
end
|
32
32
|
end
|
33
|
-
|
33
|
+
|
34
34
|
def initialize
|
35
35
|
y = Button::TOP_Y - Button::HEIGHT - Button::SPACING
|
36
|
-
|
36
|
+
|
37
37
|
@buttons = Example.examples.map do |example|
|
38
38
|
y += (Button::HEIGHT + Button::SPACING)
|
39
|
-
|
39
|
+
|
40
40
|
Button.new(y, example.source_file) do
|
41
41
|
yield(example)
|
42
42
|
end
|
43
43
|
end
|
44
44
|
end
|
45
|
-
|
45
|
+
|
46
46
|
def draw(current_filename)
|
47
47
|
Gosu.draw_rect 0, 0, WIDTH, HEIGHT, Gosu::Color::WHITE
|
48
48
|
HEADER.draw 0, 0, 0, 0.5, 0.5
|
49
|
-
|
49
|
+
|
50
50
|
@buttons.each do |button|
|
51
51
|
is_current = (button.filename == current_filename)
|
52
52
|
button.draw(is_current)
|
53
53
|
end
|
54
54
|
end
|
55
|
-
|
55
|
+
|
56
56
|
def click(x, y)
|
57
57
|
index = (y - Button::TOP_Y).floor / (Button::HEIGHT + Button::SPACING)
|
58
58
|
@buttons[index].click if @buttons[index]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gosu-examples
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Julian Raschke
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-11-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gosu
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 1.0.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.
|
26
|
+
version: 1.0.0
|
27
27
|
description: The `gosu-examples` tool provides an easy way to run and inspect example
|
28
28
|
games written for the Gosu game development library.
|
29
29
|
email: julian@raschke.de
|
@@ -38,29 +38,6 @@ files:
|
|
38
38
|
- examples/chipmunk_and_rmagick.rb
|
39
39
|
- examples/chipmunk_integration.rb
|
40
40
|
- examples/cptn_ruby.rb
|
41
|
-
- examples/media/BrokenPNG.png
|
42
|
-
- examples/media/Cursor.png
|
43
|
-
- examples/media/JingleBells.mp3
|
44
|
-
- examples/media/JingleBells.ogg
|
45
|
-
- examples/media/Loop.wav
|
46
|
-
- examples/media/Sample.wav
|
47
|
-
- examples/media/SquareTexture.png
|
48
|
-
- examples/media/Wallpaper.png
|
49
|
-
- examples/media/WallpaperXXL.png
|
50
|
-
- examples/media/WhiteAlpha.png
|
51
|
-
- examples/media/audio_formats/aiff_32bit_float.aiff
|
52
|
-
- examples/media/audio_formats/au_16bit_pcm.au
|
53
|
-
- examples/media/audio_formats/caf_be_16bit_44khz.caf
|
54
|
-
- examples/media/audio_formats/caf_le_16bit_44khz.caf
|
55
|
-
- examples/media/audio_formats/caf_le_8bit_44khz.caf
|
56
|
-
- examples/media/audio_formats/general_midi.mid
|
57
|
-
- examples/media/audio_formats/impulse_tracker.it
|
58
|
-
- examples/media/audio_formats/mp3_128k_stereo.mp3
|
59
|
-
- examples/media/audio_formats/mp3_avg_96kbit_jointstereo.mp3
|
60
|
-
- examples/media/audio_formats/ogg_vorbis.ogg
|
61
|
-
- examples/media/audio_formats/wav_16bit_pcm.wav
|
62
|
-
- examples/media/audio_formats/wav_32bit_pcm.wav
|
63
|
-
- examples/media/audio_formats/wav_4bit_ms_adpcm.wav
|
64
41
|
- examples/media/beep.wav
|
65
42
|
- examples/media/cptn_ruby.png
|
66
43
|
- examples/media/cptn_ruby_map.txt
|
@@ -68,8 +45,6 @@ files:
|
|
68
45
|
- examples/media/explosion.wav
|
69
46
|
- examples/media/gem.png
|
70
47
|
- examples/media/header@2x.psd
|
71
|
-
- examples/media/image_formats/test.jpg
|
72
|
-
- examples/media/image_formats/test.psd
|
73
48
|
- examples/media/landscape.svg
|
74
49
|
- examples/media/large_star.png
|
75
50
|
- examples/media/smoke.png
|
@@ -78,7 +53,6 @@ files:
|
|
78
53
|
- examples/media/star.png
|
79
54
|
- examples/media/starfighter.bmp
|
80
55
|
- examples/media/tileset.png
|
81
|
-
- examples/media/vera.ttf
|
82
56
|
- examples/opengl_integration.rb
|
83
57
|
- examples/rmagick_integration.rb
|
84
58
|
- examples/text_input.rb
|
@@ -89,7 +63,7 @@ files:
|
|
89
63
|
homepage: http://www.libgosu.org/
|
90
64
|
licenses: []
|
91
65
|
metadata: {}
|
92
|
-
post_install_message:
|
66
|
+
post_install_message:
|
93
67
|
rdoc_options: []
|
94
68
|
require_paths:
|
95
69
|
- lib
|
@@ -97,16 +71,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
97
71
|
requirements:
|
98
72
|
- - ">="
|
99
73
|
- !ruby/object:Gem::Version
|
100
|
-
version:
|
74
|
+
version: '0'
|
101
75
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
102
76
|
requirements:
|
103
77
|
- - ">="
|
104
78
|
- !ruby/object:Gem::Version
|
105
79
|
version: '0'
|
106
80
|
requirements: []
|
107
|
-
|
108
|
-
|
109
|
-
signing_key:
|
81
|
+
rubygems_version: 3.4.19
|
82
|
+
signing_key:
|
110
83
|
specification_version: 4
|
111
84
|
summary: Ruby examples for the Gosu library
|
112
85
|
test_files: []
|
Binary file
|
data/examples/media/Cursor.png
DELETED
Binary file
|
Binary file
|
Binary file
|
data/examples/media/Loop.wav
DELETED
Binary file
|
data/examples/media/Sample.wav
DELETED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/examples/media/vera.ttf
DELETED
Binary file
|