gosu 0.7.41-universal-darwin → 0.7.43-universal-darwin
Sign up to get free protection for your applications and to get access to all the features.
- data/COPYING +1 -1
- data/Gosu/ButtonsX.hpp +2 -2
- data/Gosu/Version.hpp +2 -2
- data/examples/GosuZen.rb +68 -0
- data/lib/gosu.for_1_8.bundle +0 -0
- data/lib/gosu.for_1_9.bundle +0 -0
- data/lib/gosu/preview.rb +38 -20
- data/lib/gosu/swig_patches.rb +12 -1
- data/lib/gosu/zen.rb +70 -21
- metadata +6 -5
data/COPYING
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
Copyright (C) 2004-
|
1
|
+
Copyright (C) 2004-2012 Julian Raschke, Jan Lücker and all contributors.
|
2
2
|
|
3
3
|
Permission is hereby granted, free of charge, to any person obtaining a
|
4
4
|
copy of this software and associated documentation files (the "Software"),
|
data/Gosu/ButtonsX.hpp
CHANGED
@@ -67,8 +67,8 @@ namespace Gosu
|
|
67
67
|
kbRightControl = XK_Control_R,
|
68
68
|
kbLeftAlt = XK_Alt_L,
|
69
69
|
kbRightAlt = XK_Alt_R,
|
70
|
-
kbLeftMeta =
|
71
|
-
kbRightMeta =
|
70
|
+
kbLeftMeta = XK_Meta_L,
|
71
|
+
kbRightMeta = XK_Meta_R,
|
72
72
|
kbBackspace = XK_BackSpace,
|
73
73
|
kbLeft = XK_Left,
|
74
74
|
kbRight = XK_Right,
|
data/Gosu/Version.hpp
CHANGED
data/examples/GosuZen.rb
ADDED
@@ -0,0 +1,68 @@
|
|
1
|
+
# Gosu Zen example based on erisdiscord's comment here:
|
2
|
+
# https://github.com/jlnr/gosu/pull/120
|
3
|
+
|
4
|
+
# Gosu Zen is the (inline) Sinatra of Ruby multimedia programming.
|
5
|
+
# The interface is still in flux. If you want to tune the interface
|
6
|
+
# a little further or provide more examples, please fork Gosu and
|
7
|
+
# send a pull request. Thanks!
|
8
|
+
|
9
|
+
require 'rubygems'
|
10
|
+
require 'gosu/zen'
|
11
|
+
include Gosu::Zen
|
12
|
+
|
13
|
+
window 480, 240, :fullscreen => false
|
14
|
+
|
15
|
+
button_down Gosu::KbEscape do
|
16
|
+
close
|
17
|
+
end
|
18
|
+
|
19
|
+
update do
|
20
|
+
t = Gosu.milliseconds / 1000.0
|
21
|
+
|
22
|
+
@radius = [width, height].min * 0.37
|
23
|
+
@angle = t * Math::PI
|
24
|
+
|
25
|
+
a, b =\
|
26
|
+
(Math.cos(t) + 0.5) * 0xff,
|
27
|
+
(Math.sin(t) + 0.5) * 0xff
|
28
|
+
|
29
|
+
c = (a + b) / 2
|
30
|
+
|
31
|
+
@colors = [
|
32
|
+
Gosu::Color.rgb(a, b, 0xff),
|
33
|
+
Gosu::Color.rgb(a, 0x00, b),
|
34
|
+
Gosu::Color.rgb(0xff, b, a),
|
35
|
+
Gosu::Color.rgb(b, a, 0x00),
|
36
|
+
Gosu::Color.rgb(b, 0xff, a),
|
37
|
+
Gosu::Color.rgb(0x00, a, b) ]
|
38
|
+
|
39
|
+
@background = Gosu::Color.rgb(c, c, c)
|
40
|
+
end
|
41
|
+
|
42
|
+
draw do
|
43
|
+
draw_quad\
|
44
|
+
0, 0, @background,
|
45
|
+
0, height, @background,
|
46
|
+
width, height, @background,
|
47
|
+
width, 0, @background, 0
|
48
|
+
|
49
|
+
translate width / 2, height / 2 do
|
50
|
+
@colors.each.with_index do |color, i|
|
51
|
+
|
52
|
+
angle = @angle + i.to_f / @colors.length * 2.0 * Math::PI
|
53
|
+
x = @radius * Math.sin(angle)
|
54
|
+
y = @radius * Math.cos(angle)
|
55
|
+
w, h = x, y
|
56
|
+
|
57
|
+
translate x, y do
|
58
|
+
rotate Gosu.radians_to_degrees(angle) do
|
59
|
+
draw_quad\
|
60
|
+
-w, +h, color,
|
61
|
+
-w, -h, color,
|
62
|
+
+w, -h, color,
|
63
|
+
+w, +h, color, 0
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
data/lib/gosu.for_1_8.bundle
CHANGED
Binary file
|
data/lib/gosu.for_1_9.bundle
CHANGED
Binary file
|
data/lib/gosu/preview.rb
CHANGED
@@ -85,37 +85,55 @@ module Gosu
|
|
85
85
|
end
|
86
86
|
end
|
87
87
|
|
88
|
+
def self.button_down? id
|
89
|
+
$window.button_down? id
|
90
|
+
end
|
91
|
+
|
92
|
+
def self.mouse_x
|
93
|
+
$window.mouse_x
|
94
|
+
end
|
95
|
+
|
96
|
+
def self.mouse_y
|
97
|
+
$window.mouse_y
|
98
|
+
end
|
99
|
+
|
100
|
+
def self.draw_line *args
|
101
|
+
$window.draw_line *args
|
102
|
+
end
|
103
|
+
|
104
|
+
def self.draw_triangle *args
|
105
|
+
$window.draw_triangle *args
|
106
|
+
end
|
107
|
+
|
88
108
|
def self.draw_quad *args
|
89
109
|
$window.draw_quad *args
|
90
110
|
end
|
91
111
|
|
92
|
-
def self.clip_to *args
|
93
|
-
$window.clip_to *args
|
94
|
-
yield
|
95
|
-
end
|
112
|
+
def self.clip_to *args, &draw
|
113
|
+
$window.clip_to *args, &draw
|
96
114
|
end
|
97
115
|
|
98
|
-
def self.translate *args
|
99
|
-
$window.translate *args
|
100
|
-
yield
|
101
|
-
end
|
116
|
+
def self.translate *args, &draw
|
117
|
+
$window.translate *args, &draw
|
102
118
|
end
|
103
119
|
|
104
|
-
def self.scale *args
|
105
|
-
$window.scale *args
|
106
|
-
yield
|
107
|
-
end
|
120
|
+
def self.scale *args, &draw
|
121
|
+
$window.scale *args, &draw
|
108
122
|
end
|
109
123
|
|
110
|
-
def self.rotate *args
|
111
|
-
$window.rotate *args
|
112
|
-
yield
|
113
|
-
end
|
124
|
+
def self.rotate *args, &draw
|
125
|
+
$window.rotate *args, &draw
|
114
126
|
end
|
115
127
|
|
116
|
-
def self.transform *args
|
117
|
-
$window.transform *args
|
118
|
-
|
119
|
-
|
128
|
+
def self.transform *args, &draw
|
129
|
+
$window.transform *args, &draw
|
130
|
+
end
|
131
|
+
|
132
|
+
def self.record width, height, &draw
|
133
|
+
$window.record width, height, &draw
|
134
|
+
end
|
135
|
+
|
136
|
+
def self.gl *args, &draw
|
137
|
+
$window.gl *args, &draw
|
120
138
|
end
|
121
139
|
end
|
data/lib/gosu/swig_patches.rb
CHANGED
@@ -10,8 +10,8 @@ class Gosu::Window
|
|
10
10
|
lose_focus button_down button_up).each do |callback|
|
11
11
|
define_method "protected_#{callback}" do |*args|
|
12
12
|
begin
|
13
|
-
# Turn into a boolean result for needs_cursor? etc while we are at it.
|
14
13
|
# If there has been an exception, don't do anything as to not make matters worse.
|
14
|
+
# Conveniently turn the return value into a boolean result (for needs_cursor? etc).
|
15
15
|
defined?(@_exception) ? false : !!send(callback, *args)
|
16
16
|
rescue Exception => e
|
17
17
|
# Exit the message loop naturally, then re-throw
|
@@ -21,6 +21,17 @@ class Gosu::Window
|
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
24
|
+
def protected_draw_2
|
25
|
+
protected_draw
|
26
|
+
$gosu_gl_blocks = nil
|
27
|
+
end
|
28
|
+
|
29
|
+
def gl(*args, &block)
|
30
|
+
$gosu_blocks ||= []
|
31
|
+
$gosu_blocks << block
|
32
|
+
unsafe_gl(*args, &block)
|
33
|
+
end
|
34
|
+
|
24
35
|
alias show_internal show
|
25
36
|
def show
|
26
37
|
show_internal
|
data/lib/gosu/zen.rb
CHANGED
@@ -1,28 +1,77 @@
|
|
1
|
-
require 'gosu'
|
2
|
-
require 'singleton'
|
1
|
+
require 'gosu/preview'
|
3
2
|
|
4
3
|
module Gosu
|
4
|
+
module Zen
|
5
|
+
|
6
|
+
@@window_args = [800, 600, {}]
|
7
|
+
@@options = {}
|
8
|
+
|
9
|
+
def window width, height, options = nil
|
10
|
+
if $window.nil?
|
11
|
+
@@window_args[0] = width
|
12
|
+
@@window_args[1] = height
|
13
|
+
@@window_args[2].merge! options if options
|
14
|
+
else
|
15
|
+
raise "window size can only be set before the window is created"
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def set what, value
|
20
|
+
if $window.nil?
|
21
|
+
@@options[what.to_sym] = value
|
22
|
+
else
|
23
|
+
$window.send "#{what}=", value
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def button_down id = nil, &body
|
28
|
+
m = id ? "button_down_#{id}" : :button_down_other
|
29
|
+
ZenWindow.send :define_method, m, &body
|
30
|
+
end
|
31
|
+
|
32
|
+
def button_up id = nil, &body
|
33
|
+
m = id ? "button_up_#{id}" : :button_up_other
|
34
|
+
ZenWindow.send :define_method, m, &body
|
35
|
+
end
|
36
|
+
|
37
|
+
def update &body
|
38
|
+
ZenWindow.send :define_method, :update, &body
|
39
|
+
end
|
40
|
+
|
41
|
+
def draw &body
|
42
|
+
ZenWindow.send :define_method, :draw, &body
|
43
|
+
end
|
44
|
+
|
45
|
+
def run!
|
46
|
+
window = ZenWindow.new *@@window_args
|
47
|
+
@@options.each do |opt, value|
|
48
|
+
window.send "#{opt}=", value
|
49
|
+
end
|
50
|
+
window.show
|
51
|
+
end
|
52
|
+
|
53
|
+
def Zen.included mod
|
54
|
+
at_exit { run! unless $! }
|
55
|
+
end
|
56
|
+
|
57
|
+
end
|
58
|
+
|
5
59
|
class ZenWindow < Window
|
6
|
-
|
60
|
+
def button_down id
|
61
|
+
m = :"button_down_#{id}"
|
62
|
+
respond_to?(m) ? send(m) : button_down_other(id)
|
63
|
+
end
|
64
|
+
|
65
|
+
def button_up id
|
66
|
+
m = :"button_up_#{id}"
|
67
|
+
respond_to?(m) ? send(m) : button_up_other(id)
|
68
|
+
end
|
69
|
+
|
70
|
+
def button_down_other id
|
71
|
+
end
|
7
72
|
|
8
|
-
def
|
9
|
-
super 800, 600, false
|
73
|
+
def button_up_other id
|
10
74
|
end
|
75
|
+
|
11
76
|
end
|
12
77
|
end
|
13
|
-
|
14
|
-
def set what, value
|
15
|
-
Gosu::ZenWindow.instance.send "#{what}=", value
|
16
|
-
end
|
17
|
-
|
18
|
-
def update(&proc)
|
19
|
-
Gosu::ZenWindow.send :define_method, :update, proc
|
20
|
-
end
|
21
|
-
|
22
|
-
# WIP - needs all other callbacks, even with arguments
|
23
|
-
|
24
|
-
# WIP - needs to be compatible with gosu/preview.rb later
|
25
|
-
|
26
|
-
at_exit do
|
27
|
-
Gosu::ZenWindow.instance.show
|
28
|
-
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gosu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 85
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 7
|
9
|
-
-
|
10
|
-
version: 0.7.
|
9
|
+
- 43
|
10
|
+
version: 0.7.43
|
11
11
|
platform: universal-darwin
|
12
12
|
authors:
|
13
13
|
- Julian Raschke
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
18
|
+
date: 2012-03-20 00:00:00 Z
|
19
19
|
dependencies: []
|
20
20
|
|
21
21
|
description: " 2D game development library.\n\n Gosu features easy to use and game-friendly interfaces to 2D graphics\n and text (accelerated by 3D hardware), sound samples and music as well as\n keyboard, mouse and gamepad/joystick input.\n\n Also includes demos for integration with RMagick, Chipmunk and OpenGL.\n"
|
@@ -68,6 +68,7 @@ files:
|
|
68
68
|
- lib/gosu.rb
|
69
69
|
- examples/ChipmunkIntegration.rb
|
70
70
|
- examples/CptnRuby.rb
|
71
|
+
- examples/GosuZen.rb
|
71
72
|
- examples/MoreChipmunkAndRMagick.rb
|
72
73
|
- examples/OpenGLIntegration.rb
|
73
74
|
- examples/RMagickIntegration.rb
|
@@ -128,7 +129,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
128
129
|
requirements: []
|
129
130
|
|
130
131
|
rubyforge_project:
|
131
|
-
rubygems_version: 1.8.
|
132
|
+
rubygems_version: 1.8.15
|
132
133
|
signing_key:
|
133
134
|
specification_version: 3
|
134
135
|
summary: 2D game development library.
|