rubysketch 0.5.10 → 0.5.12
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/ChangeLog.md +13 -0
- data/VERSION +1 -1
- data/lib/rubysketch/context.rb +1 -0
- data/lib/rubysketch/sprite.rb +136 -15
- data/rubysketch.gemspec +13 -13
- data/test/test_sprite.rb +26 -0
- metadata +17 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 89c9430464e46375e771df7dea669efb44b39420e74cd39f768565261eccbaea
|
4
|
+
data.tar.gz: e5e2f5d02342288f28a1b9b39bfb65a3df5a689a3f2357dfbec2fd08ac72528d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 59f9a68562024f0902f9b684d0488af1ed788774a21312b1d89ebe6a49c214a1931ab126034bfd2e216bcf00ab7fd8c60dac2186cd82393a5302010873ac4e91
|
7
|
+
data.tar.gz: ace3f137ae3485fbe318be5c38fbd404a963b23b51afb5941ee047b89ccc4fb5746b0ee068dd9b91a6a795d86f09d452b3f0c3cac3cdb7eef550ded264b0596b
|
data/ChangeLog.md
CHANGED
@@ -1,6 +1,19 @@
|
|
1
1
|
# rubysketch ChangeLog
|
2
2
|
|
3
3
|
|
4
|
+
## [v0.5.12] - 2023-05-27
|
5
|
+
|
6
|
+
- required_ruby_version >= 3.0.0
|
7
|
+
- Add spec.license
|
8
|
+
- Add fixAngle() and angleFixed() to Sprite class
|
9
|
+
|
10
|
+
|
11
|
+
## [v0.5.11] - 2023-05-26
|
12
|
+
|
13
|
+
- add left, top, right, and bottom accessors to Sprite class
|
14
|
+
- add show(), hide(), and hidden?() to Sprite class
|
15
|
+
|
16
|
+
|
4
17
|
## [v0.5.10] - 2023-05-21
|
5
18
|
|
6
19
|
- Update dependencies
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.5.
|
1
|
+
0.5.12
|
data/lib/rubysketch/context.rb
CHANGED
@@ -74,6 +74,7 @@ module RubySketch
|
|
74
74
|
def sprite(*sprites)
|
75
75
|
sprites.flatten! if sprites.first&.is_a? Array
|
76
76
|
sprites.each do |sp|
|
77
|
+
next if sp.hidden?
|
77
78
|
view, draw = sp.getInternal__, sp.instance_variable_get(:@drawBlock__)
|
78
79
|
f, degrees, pivot = view.frame, view.angle, view.pivot
|
79
80
|
if draw
|
data/lib/rubysketch/sprite.rb
CHANGED
@@ -15,25 +15,25 @@ module RubySketch
|
|
15
15
|
#
|
16
16
|
# @overload new(x, y, image: img)
|
17
17
|
# pos: [x, y], size: [image.width, image.height]
|
18
|
-
# @param [Numeric] x x of sprite position
|
19
|
-
# @param [Numeric] y y of sprite position
|
18
|
+
# @param [Numeric] x x of the sprite position
|
19
|
+
# @param [Numeric] y y of the sprite position
|
20
20
|
# @param [Image] img sprite image
|
21
21
|
#
|
22
22
|
# @overload new(x, y, w, h)
|
23
23
|
# pos(x, y), size: [w, h]
|
24
|
-
# @param [Numeric] x x of sprite position
|
25
|
-
# @param [Numeric] y y of sprite position
|
26
|
-
# @param [Numeric] w width of sprite
|
27
|
-
# @param [Numeric] h height of sprite
|
24
|
+
# @param [Numeric] x x of the sprite position
|
25
|
+
# @param [Numeric] y y of the sprite position
|
26
|
+
# @param [Numeric] w width of the sprite
|
27
|
+
# @param [Numeric] h height of the sprite
|
28
28
|
#
|
29
29
|
# @overload new(x, y, w, h, image: img, offset: off)
|
30
30
|
# pos: [x, y], size: [w, h], offset: [offset.x, offset.x]
|
31
|
-
# @param [Numeric] x x of sprite position
|
32
|
-
# @param [Numeric] y y of sprite position
|
33
|
-
# @param [Numeric] w width of sprite
|
34
|
-
# @param [Numeric] h height of sprite
|
31
|
+
# @param [Numeric] x x of the sprite position
|
32
|
+
# @param [Numeric] y y of the sprite position
|
33
|
+
# @param [Numeric] w width of the sprite
|
34
|
+
# @param [Numeric] h height of the sprite
|
35
35
|
# @param [Image] img sprite image
|
36
|
-
# @param [Vector] off offset of sprite image
|
36
|
+
# @param [Vector] off offset of the sprite image
|
37
37
|
#
|
38
38
|
def initialize(
|
39
39
|
x = 0, y = 0, w = nil, h = nil, image: nil, offset: nil,
|
@@ -54,6 +54,35 @@ module RubySketch
|
|
54
54
|
self.offset = offset if offset
|
55
55
|
end
|
56
56
|
|
57
|
+
# Shows the sprite
|
58
|
+
#
|
59
|
+
# Since one call to "hide()" increases the hide count, it is necessary to call "show()" n times to make the sprite visible again after calling "hide()" n times.
|
60
|
+
#
|
61
|
+
# @return [Sprite] self
|
62
|
+
#
|
63
|
+
def show()
|
64
|
+
@view__.show
|
65
|
+
self
|
66
|
+
end
|
67
|
+
|
68
|
+
# Hides the sprite
|
69
|
+
#
|
70
|
+
# Since one call to "hide()" increases the hide count, it is necessary to call "show()" n times to make the sprite visible again after calling "hide()" n times.
|
71
|
+
#
|
72
|
+
# @return [Sprite] self
|
73
|
+
#
|
74
|
+
def hide()
|
75
|
+
@view__.hide
|
76
|
+
end
|
77
|
+
|
78
|
+
# Returns the sprite is visible
|
79
|
+
#
|
80
|
+
# @return [Boolean] true: invisible, false: visible
|
81
|
+
#
|
82
|
+
def hidden?()
|
83
|
+
@view__.hidden?
|
84
|
+
end
|
85
|
+
|
57
86
|
# Returns the position of the sprite.
|
58
87
|
#
|
59
88
|
# @return [Vector] position
|
@@ -137,6 +166,79 @@ module RubySketch
|
|
137
166
|
alias pos position
|
138
167
|
alias pos= position=
|
139
168
|
|
169
|
+
# Returns the left position of the sprite.
|
170
|
+
#
|
171
|
+
# @return [Numeric] left position
|
172
|
+
#
|
173
|
+
def left()
|
174
|
+
@view__.left
|
175
|
+
end
|
176
|
+
|
177
|
+
# Set the left position of the sprite.
|
178
|
+
#
|
179
|
+
# @param [Numeric] n sprite left position
|
180
|
+
#
|
181
|
+
# @return [Numeric] sprite left position
|
182
|
+
#
|
183
|
+
def left=(n)
|
184
|
+
@view__.left = n
|
185
|
+
n
|
186
|
+
end
|
187
|
+
|
188
|
+
# Returns the top position of the sprite.
|
189
|
+
#
|
190
|
+
# @return [Numeric] top position
|
191
|
+
#
|
192
|
+
def top()
|
193
|
+
@view__.top
|
194
|
+
end
|
195
|
+
|
196
|
+
# Set the top position of the sprite.
|
197
|
+
#
|
198
|
+
# @param [Numeric] n sprite top position
|
199
|
+
#
|
200
|
+
# @return [Numeric] sprite top position
|
201
|
+
#
|
202
|
+
def top=(n)
|
203
|
+
@view__.top = n
|
204
|
+
end
|
205
|
+
|
206
|
+
# Returns the right position of the sprite.
|
207
|
+
#
|
208
|
+
# @return [Numeric] right position
|
209
|
+
#
|
210
|
+
def right()
|
211
|
+
@view__.right
|
212
|
+
end
|
213
|
+
|
214
|
+
# Set the right position of the sprite.
|
215
|
+
#
|
216
|
+
# @param [Numeric] n sprite right position
|
217
|
+
#
|
218
|
+
# @return [Numeric] sprite right position
|
219
|
+
#
|
220
|
+
def right=(n)
|
221
|
+
@view__.right = n
|
222
|
+
end
|
223
|
+
|
224
|
+
# Returns the bottom position of the sprite.
|
225
|
+
#
|
226
|
+
# @return [Numeric] bottom
|
227
|
+
#
|
228
|
+
def bottom()
|
229
|
+
@view__.bottom
|
230
|
+
end
|
231
|
+
|
232
|
+
# Set the bottom position of the sprite.
|
233
|
+
#
|
234
|
+
# @param [Numeric] n sprite bottom position
|
235
|
+
#
|
236
|
+
# @return [Numeric] sprite bottom position
|
237
|
+
#
|
238
|
+
def bottom=(bottom)
|
239
|
+
@view__.bottom = bottom
|
240
|
+
end
|
241
|
+
|
140
242
|
# Returns the center position of the sprite.
|
141
243
|
#
|
142
244
|
# @return [Vector] center position
|
@@ -219,7 +321,7 @@ module RubySketch
|
|
219
321
|
alias h height
|
220
322
|
alias h= height=
|
221
323
|
|
222
|
-
# Returns the rotation angle of sprite.
|
324
|
+
# Returns the rotation angle of the sprite.
|
223
325
|
#
|
224
326
|
# @return [Numeric] radians or degrees depending on angleMode()
|
225
327
|
#
|
@@ -228,7 +330,7 @@ module RubySketch
|
|
228
330
|
c ? c.fromDegrees__(a) : a * Processing::GraphicsContext::DEG2RAD__
|
229
331
|
end
|
230
332
|
|
231
|
-
# Sets the rotation angle of sprite.
|
333
|
+
# Sets the rotation angle of the sprite.
|
232
334
|
#
|
233
335
|
# @param [Numeric] angle radians or degrees depending on angleMode()
|
234
336
|
#
|
@@ -241,7 +343,26 @@ module RubySketch
|
|
241
343
|
angle
|
242
344
|
end
|
243
345
|
|
244
|
-
#
|
346
|
+
# Fixes the angle of the sprite.
|
347
|
+
#
|
348
|
+
# @param [Boolean] fix fix rotation or not
|
349
|
+
#
|
350
|
+
# @return [Sprite] self
|
351
|
+
#
|
352
|
+
def fixAngle(fix = true)
|
353
|
+
@view__.fix_angle = fix
|
354
|
+
self
|
355
|
+
end
|
356
|
+
|
357
|
+
# Returns the angle of the sprite is fixed or not.
|
358
|
+
#
|
359
|
+
# @return [Boolean] whether the rotation is fixed or not
|
360
|
+
#
|
361
|
+
def angleFixed?()
|
362
|
+
@view__.fix_angle?
|
363
|
+
end
|
364
|
+
|
365
|
+
# Returns the rotation center of the sprite.
|
245
366
|
#
|
246
367
|
# @return [Array<Numeric>] [pivotX, pivotY]
|
247
368
|
#
|
@@ -249,7 +370,7 @@ module RubySketch
|
|
249
370
|
@view__.pivot.to_a[0, 2]
|
250
371
|
end
|
251
372
|
|
252
|
-
# Sets the rotation center of sprite.
|
373
|
+
# Sets the rotation center of the sprite.
|
253
374
|
# [0.0, 0.0] is the left-top, [1.0, 1.0] is the right-bottom, and [0.5, 0.5] is the center.
|
254
375
|
#
|
255
376
|
# @param [Array<Numeric>] ary an array of pivotX and pivotY
|
data/rubysketch.gemspec
CHANGED
@@ -17,23 +17,23 @@ Gem::Specification.new do |s|
|
|
17
17
|
rdocs = glob.call *%w[README]
|
18
18
|
|
19
19
|
s.name = name
|
20
|
+
s.version = ext.version
|
21
|
+
s.license = 'MIT'
|
20
22
|
s.summary = 'A game engine based on the Processing API.'
|
21
23
|
s.description = 'A game engine based on the Processing API.'
|
22
|
-
s.
|
23
|
-
|
24
|
-
s.
|
25
|
-
s.email = 'xordog@gmail.com'
|
26
|
-
s.homepage = "https://github.com/xord/rubysketch"
|
24
|
+
s.authors = %w[xordog]
|
25
|
+
s.email = 'xordog@gmail.com'
|
26
|
+
s.homepage = "https://github.com/xord/rubysketch"
|
27
27
|
|
28
28
|
s.platform = Gem::Platform::RUBY
|
29
|
-
s.required_ruby_version = '>=
|
30
|
-
|
31
|
-
s.add_runtime_dependency 'xot', '~> 0.1.
|
32
|
-
s.add_runtime_dependency 'rucy', '~> 0.1.
|
33
|
-
s.add_runtime_dependency 'beeps', '~> 0.1.
|
34
|
-
s.add_runtime_dependency 'rays', '~> 0.1.
|
35
|
-
s.add_runtime_dependency 'reflexion', '~> 0.1.
|
36
|
-
s.add_runtime_dependency 'processing', '~> 0.5.
|
29
|
+
s.required_ruby_version = '>= 3.0.0'
|
30
|
+
|
31
|
+
s.add_runtime_dependency 'xot', '~> 0.1.37'
|
32
|
+
s.add_runtime_dependency 'rucy', '~> 0.1.37'
|
33
|
+
s.add_runtime_dependency 'beeps', '~> 0.1.38'
|
34
|
+
s.add_runtime_dependency 'rays', '~> 0.1.38'
|
35
|
+
s.add_runtime_dependency 'reflexion', '~> 0.1.40'
|
36
|
+
s.add_runtime_dependency 'processing', '~> 0.5.13'
|
37
37
|
|
38
38
|
s.add_development_dependency 'rake'
|
39
39
|
s.add_development_dependency 'test-unit'
|
data/test/test_sprite.rb
CHANGED
@@ -39,6 +39,18 @@ class TestSprite < Test::Unit::TestCase
|
|
39
39
|
assert_raise {sprite 0, 0, 0, -1}
|
40
40
|
end
|
41
41
|
|
42
|
+
def test_show_hide()
|
43
|
+
s = sprite; assert_false s.hidden?
|
44
|
+
s.hide; assert_true s.hidden?
|
45
|
+
s.show; assert_false s.hidden?
|
46
|
+
2.times {s.hide}; assert_true s.hidden?
|
47
|
+
s.show; assert_true s.hidden?
|
48
|
+
s.show; assert_false s.hidden?
|
49
|
+
s.show; assert_false s.hidden?
|
50
|
+
s.hide; assert_false s.hidden?
|
51
|
+
s.hide; assert_true s.hidden?
|
52
|
+
end
|
53
|
+
|
42
54
|
def test_position()
|
43
55
|
s = sprite
|
44
56
|
assert_equal vec(0, 0), s.pos
|
@@ -117,6 +129,20 @@ class TestSprite < Test::Unit::TestCase
|
|
117
129
|
assert_in_epsilon Math::PI, s.angle
|
118
130
|
end
|
119
131
|
|
132
|
+
def test_fixAngle()
|
133
|
+
s = sprite
|
134
|
+
assert_false s.angleFixed?
|
135
|
+
|
136
|
+
s.fixAngle true
|
137
|
+
assert_true s.angleFixed?
|
138
|
+
|
139
|
+
s.fixAngle false
|
140
|
+
assert_false s.angleFixed?
|
141
|
+
|
142
|
+
s.fixAngle
|
143
|
+
assert_true s.angleFixed?
|
144
|
+
end
|
145
|
+
|
120
146
|
def test_pivot()
|
121
147
|
s = sprite
|
122
148
|
assert_each_in_epsilon [0, 0], s.pivot
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubysketch
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- xordog
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-05-
|
11
|
+
date: 2023-05-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: xot
|
@@ -16,84 +16,84 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.1.
|
19
|
+
version: 0.1.37
|
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.1.
|
26
|
+
version: 0.1.37
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rucy
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.1.
|
33
|
+
version: 0.1.37
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.1.
|
40
|
+
version: 0.1.37
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: beeps
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.1.
|
47
|
+
version: 0.1.38
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.1.
|
54
|
+
version: 0.1.38
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rays
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.1.
|
61
|
+
version: 0.1.38
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0.1.
|
68
|
+
version: 0.1.38
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: reflexion
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0.1.
|
75
|
+
version: 0.1.40
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 0.1.
|
82
|
+
version: 0.1.40
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: processing
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 0.5.
|
89
|
+
version: 0.5.13
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 0.5.
|
96
|
+
version: 0.5.13
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: rake
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -172,7 +172,8 @@ files:
|
|
172
172
|
- test/helper.rb
|
173
173
|
- test/test_sprite.rb
|
174
174
|
homepage: https://github.com/xord/rubysketch
|
175
|
-
licenses:
|
175
|
+
licenses:
|
176
|
+
- MIT
|
176
177
|
metadata: {}
|
177
178
|
post_install_message:
|
178
179
|
rdoc_options: []
|
@@ -182,7 +183,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
182
183
|
requirements:
|
183
184
|
- - ">="
|
184
185
|
- !ruby/object:Gem::Version
|
185
|
-
version:
|
186
|
+
version: 3.0.0
|
186
187
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
187
188
|
requirements:
|
188
189
|
- - ">="
|