minigl 1.0.1 → 1.1.0
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/README.md +13 -3
- data/data/font/font1.ttf +0 -0
- data/data/img/img1.png +0 -0
- data/lib/minigl/global.rb +17 -6
- data/test/game.rb +40 -0
- metadata +7 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 859235b4f4ca7a187676a2b0ca361c9e68342446
|
|
4
|
+
data.tar.gz: 3ffb1d97296310a592421f6a87f2792778f75308
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6999c1e096ba097a8f3581ff17ca25fecbf6483c9db382f941a1721f9079f5410c12eda60d5da30d59ee81504940c8e595a44998014f09fb281a1a6756a9dc12
|
|
7
|
+
data.tar.gz: d095c9838aab0c9c153ef3a5bf2c6534aae66df9696afad6e9e35d27fc5024c5235cb2f9d794afa0e05bccf47bee2d94415c2943330075115f595e812a144318
|
data/README.md
CHANGED
|
@@ -1,12 +1,22 @@
|
|
|
1
1
|
# MiniGL
|
|
2
2
|
|
|
3
|
-
MiniGL is a minimal Game Library, available as a Ruby gem, and built on
|
|
4
|
-
the [Gosu](http://www.libgosu.org/) gem.
|
|
3
|
+
MiniGL is a minimal **2D Game** Library, available as a Ruby gem, and built on
|
|
4
|
+
top of the [Gosu](http://www.libgosu.org/) gem.
|
|
5
|
+
|
|
6
|
+
It provides the following features:
|
|
7
|
+
* Resource management (images, sounds, ...)
|
|
8
|
+
* Input manipulation (keyboard, mouse, ...)
|
|
9
|
+
* UI (text, buttons, text fields, ...)
|
|
10
|
+
* Basic physics and collision checking
|
|
11
|
+
* Animated objects
|
|
12
|
+
|
|
13
|
+
More functionalities are coming. Feel free to contribute!
|
|
5
14
|
|
|
6
15
|
Please note:
|
|
7
16
|
|
|
8
17
|
* The test package is not complete! Most of the functionality
|
|
9
18
|
provided by the gem is difficult to test automatically, but you can check out
|
|
10
19
|
this [working game example](https://github.com/victords/aventura-do-saber).
|
|
11
|
-
* The documentation is under
|
|
20
|
+
* The [documentation](https://github.com/victords/minigl/wiki) is under
|
|
21
|
+
construction.
|
|
12
22
|
|
data/data/font/font1.ttf
ADDED
|
Binary file
|
data/data/img/img1.png
ADDED
|
Binary file
|
data/lib/minigl/global.rb
CHANGED
|
@@ -166,6 +166,8 @@ module AGL
|
|
|
166
166
|
@@global_imgs = Hash.new
|
|
167
167
|
@@sounds = Hash.new
|
|
168
168
|
@@global_sounds = Hash.new
|
|
169
|
+
@@fonts = Hash.new
|
|
170
|
+
@@global_fonts = Hash.new
|
|
169
171
|
end
|
|
170
172
|
|
|
171
173
|
def self.img id, global = false, tileable = false, ext = ".png"
|
|
@@ -192,29 +194,38 @@ module AGL
|
|
|
192
194
|
a[id] = tileset
|
|
193
195
|
end
|
|
194
196
|
|
|
195
|
-
def self.sound id, global = false
|
|
197
|
+
def self.sound id, global = false, ext = ".wav"
|
|
196
198
|
if global; a = @@global_sounds; else; a = @@sounds; end
|
|
197
199
|
return a[id] if a[id]
|
|
198
|
-
s = "data/sound/se/" + id.to_s.split('_').join('/') +
|
|
200
|
+
s = "data/sound/se/" + id.to_s.split('_').join('/') + ext
|
|
199
201
|
sound = Gosu::Sample.new Game.window, s
|
|
200
202
|
a[id] = sound
|
|
201
203
|
end
|
|
202
204
|
|
|
203
|
-
def self.song id, global = false
|
|
205
|
+
def self.song id, global = false, ext = ".ogg"
|
|
204
206
|
if global; a = @@global_sounds; else; a = @@sounds; end
|
|
205
207
|
return a[id] if a[id]
|
|
206
|
-
s = "data/sound/bgm/" + id.to_s.split('_').join('/') +
|
|
208
|
+
s = "data/sound/bgm/" + id.to_s.split('_').join('/') + ext
|
|
207
209
|
song = Gosu::Song.new Game.window, s
|
|
208
210
|
a[id] = song
|
|
209
211
|
end
|
|
212
|
+
|
|
213
|
+
def self.font id, size, global = true, ext = ".ttf"
|
|
214
|
+
if global; a = @@global_fonts; else; a = @@fonts; end
|
|
215
|
+
return a[id] if a[id]
|
|
216
|
+
s = "data/font/" + id.to_s.split('_').join('/') + ext
|
|
217
|
+
font = Gosu::Font.new Game.window, s, size
|
|
218
|
+
a[id] = font
|
|
219
|
+
end
|
|
210
220
|
|
|
211
221
|
# def self.text id
|
|
212
222
|
# G.texts[G.lang][id.to_sym]
|
|
213
223
|
# end
|
|
214
224
|
|
|
215
225
|
def self.clear
|
|
216
|
-
|
|
217
|
-
|
|
226
|
+
@@imgs.clear
|
|
227
|
+
@@sounds.clear
|
|
228
|
+
@@fonts.clear
|
|
218
229
|
end
|
|
219
230
|
end
|
|
220
231
|
end
|
data/test/game.rb
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
require_relative '../lib/minigl'
|
|
2
|
+
include AGL
|
|
3
|
+
|
|
4
|
+
class MyGame < Gosu::Window
|
|
5
|
+
def initialize
|
|
6
|
+
super 800, 600, false # creating a 800 x 600 window, not full screen
|
|
7
|
+
Game.initialize self # initializing MiniGL for this window
|
|
8
|
+
|
|
9
|
+
@img = Res.img :img1
|
|
10
|
+
@font = Res.font :font1, 20
|
|
11
|
+
@x = 0
|
|
12
|
+
@y = 0
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def needs_cursor?
|
|
16
|
+
true
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def update
|
|
20
|
+
KB.update
|
|
21
|
+
@y -= 1 if KB.key_down? Gosu::KbUp
|
|
22
|
+
@x += 1 if KB.key_down? Gosu::KbRight
|
|
23
|
+
@y += 1 if KB.key_down? Gosu::KbDown
|
|
24
|
+
@x -= 1 if KB.key_down? Gosu::KbLeft
|
|
25
|
+
|
|
26
|
+
Mouse.update
|
|
27
|
+
if Mouse.button_pressed? :left
|
|
28
|
+
@x = Mouse.x - @img.width / 2
|
|
29
|
+
@y = Mouse.y - @img.height / 2
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def draw
|
|
34
|
+
@img.draw @x, @y, 0
|
|
35
|
+
@font.draw "Testing fonts", 20, 560, 0
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
game = MyGame.new
|
|
40
|
+
game.show
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: minigl
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0
|
|
4
|
+
version: 1.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Victor David Santos
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2014-
|
|
11
|
+
date: 2014-06-03 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: gosu
|
|
@@ -30,7 +30,7 @@ dependencies:
|
|
|
30
30
|
- - '>='
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
32
|
version: 0.7.50
|
|
33
|
-
description: A minimal Game Library built on top of the Gosu gem.
|
|
33
|
+
description: A minimal 2D Game Library built on top of the Gosu gem.
|
|
34
34
|
email: victordavidsantos@gmail.com
|
|
35
35
|
executables: []
|
|
36
36
|
extensions: []
|
|
@@ -39,7 +39,9 @@ files:
|
|
|
39
39
|
- LICENSE
|
|
40
40
|
- README.md
|
|
41
41
|
- Rakefile
|
|
42
|
+
- data/font/font1.ttf
|
|
42
43
|
- data/img/image.png
|
|
44
|
+
- data/img/img1.png
|
|
43
45
|
- lib/minigl.rb
|
|
44
46
|
- lib/minigl/forms.rb
|
|
45
47
|
- lib/minigl/game_object.rb
|
|
@@ -47,6 +49,7 @@ files:
|
|
|
47
49
|
- lib/minigl/map.rb
|
|
48
50
|
- lib/minigl/movement.rb
|
|
49
51
|
- lib/minigl/text.rb
|
|
52
|
+
- test/game.rb
|
|
50
53
|
- test/game_object_tests.rb
|
|
51
54
|
- test/map_tests.rb
|
|
52
55
|
- test/movement_tests.rb
|
|
@@ -77,4 +80,5 @@ summary: MiniGL
|
|
|
77
80
|
test_files:
|
|
78
81
|
- test/movement_tests.rb
|
|
79
82
|
- test/map_tests.rb
|
|
83
|
+
- test/game.rb
|
|
80
84
|
- test/game_object_tests.rb
|