ruby-miyako 2.1.11 → 2.1.12
Sign up to get free protection for your applications and to get access to all the features.
- data/README +52 -3
- data/lib/Miyako/API/layout.rb +0 -1
- data/lib/Miyako/API/modules.rb +39 -5
- data/lib/Miyako/API/sprite_animation.rb +3 -5
- data/lib/Miyako/API/sprite_list.rb +18 -2
- data/lib/Miyako/API/struct_point.rb +22 -0
- data/lib/Miyako/API/struct_rect.rb +32 -0
- data/lib/Miyako/API/struct_segment.rb +4 -0
- data/lib/Miyako/API/struct_size.rb +26 -0
- data/lib/Miyako/API/struct_square.rb +36 -0
- data/lib/Miyako/miyako.rb +3 -3
- data/miyako_no_katana.c +35 -0
- data/miyako_sprite2.c +6 -7
- data/sample/drawer_sample.rb +19 -1
- data/win/miyako_no_katana.so +0 -0
- metadata +2 -2
data/README
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
*******************************************************************************
|
2
2
|
【 作者名 】 サイロス誠
|
3
3
|
【 ソフト名 】 Interactive Media Authoring System "Miyako"
|
4
|
-
【 バージョン 】 2.1.
|
5
|
-
【 作成日 】 2010/05/
|
4
|
+
【 バージョン 】 2.1.12
|
5
|
+
【 作成日 】 2010/05/04
|
6
6
|
【 種別 】 フリーウェア
|
7
7
|
【 開発言語 】 Ruby 1.9.1
|
8
8
|
【 ランタイム 】 Ruby 1.9.1~,Ruby/SDL 2.1~,SDL
|
@@ -15,7 +15,7 @@
|
|
15
15
|
|
16
16
|
【 注意事項 】
|
17
17
|
|
18
|
-
本バージョンは、2.1.
|
18
|
+
本バージョンは、2.1.12公式リリース版です。
|
19
19
|
本バージョンでは、ドキュメント・リファレンスは不十分ですが、「サイログ。」内や、サンプルプログラムの紹介等で随時ドキュメントを公開して行きます。
|
20
20
|
(RDOC化を進めていますので、我こそはと思う方は是非・・・)
|
21
21
|
|
@@ -1727,5 +1727,54 @@ Drawer
|
|
1727
1727
|
<ドキュメント>
|
1728
1728
|
・リファレンスマニュアルの項目追加
|
1729
1729
|
|
1730
|
+
v2.1.12(2010.05.04)
|
1731
|
+
<バグ修正>
|
1732
|
+
・SpriteAnimation.newで、move_offsetパラメータの値によって表示位置が狂うバグを修正
|
1733
|
+
・Layout#.left!で、無駄なコードがあったため削除
|
1734
|
+
<機能改善>
|
1735
|
+
<仕様変更>
|
1736
|
+
・SpriteArray(SpriteList)#update_animation返却値を「要素のどれか一つが変更になればtrue」に変更
|
1737
|
+
<ファイル追加>
|
1738
|
+
<ファイル削除>
|
1739
|
+
<グローバル変数追加>
|
1740
|
+
<定数追加>
|
1741
|
+
<定数削除>
|
1742
|
+
<構造体追加>
|
1743
|
+
<クラス追加>
|
1744
|
+
<モジュール追加>
|
1745
|
+
<mixin>
|
1746
|
+
<クラス・モジュールメソッド追加>
|
1747
|
+
<クラス・モジュールメソッド廃止>
|
1748
|
+
<モジュール関数追加>
|
1749
|
+
・SpriteBase#.render_d
|
1750
|
+
・SpriteArray#.render_d
|
1751
|
+
<モジュール関数廃止>
|
1752
|
+
<インスタンスメソッド追加>
|
1753
|
+
・Sprite#render_d
|
1754
|
+
・SpriteList#render_d
|
1755
|
+
・Point#update!
|
1756
|
+
・Point#update_by_point!
|
1757
|
+
・Point#update_by_size!
|
1758
|
+
・Point#update_by_rect!
|
1759
|
+
・Point#update_by_square!
|
1760
|
+
・Size#update!
|
1761
|
+
・Size#update_by_point!
|
1762
|
+
・Size#update_by_size!
|
1763
|
+
・Size#update_by_rect!
|
1764
|
+
・Size#update_by_square!
|
1765
|
+
・Rect#update!
|
1766
|
+
・Rect#update_by_point!
|
1767
|
+
・Rect#update_by_size!
|
1768
|
+
・Rect#update_by_rect!
|
1769
|
+
・Rect#update_by_square!
|
1770
|
+
・Square#update!
|
1771
|
+
・Square#update_by_point!
|
1772
|
+
・Square#update_by_size!
|
1773
|
+
・Square#update_by_rect!
|
1774
|
+
・Square#update_by_square!
|
1775
|
+
・Segment#update!
|
1776
|
+
<インスタンスメソッド廃止>
|
1777
|
+
<ドキュメント>
|
1778
|
+
|
1730
1779
|
*******************************************************************************
|
1731
1780
|
このReadMeファイルは「れ~どめ~えじた~」によって作成されました。
|
data/lib/Miyako/API/layout.rb
CHANGED
@@ -125,7 +125,6 @@ module Miyako
|
|
125
125
|
base = @layout.base.rect
|
126
126
|
t = @layout.pos[0]
|
127
127
|
@layout.pos[0] = base[0] + (margin ? margin[base[2]].to_i : 0)
|
128
|
-
@layout.snap.children.each{|c| c.left(&margin) }
|
129
128
|
update_layout(@layout.pos[0]-t, 0)
|
130
129
|
@layout.on_move.each{|block|
|
131
130
|
block.call(self, @layout.pos[0], @layout.pos[1], @layout.pos[0]-t, 0)
|
data/lib/Miyako/API/modules.rb
CHANGED
@@ -153,10 +153,11 @@ module Miyako
|
|
153
153
|
#返却値:: 自分自身を返す
|
154
154
|
def render_xy(x, y)
|
155
155
|
if [:pos, :move_to!].all?{|mn| self.class.method_defined?(mn)}
|
156
|
-
|
156
|
+
ox = self.pos[0]
|
157
|
+
oy = self.pos[1]
|
157
158
|
self.move_to!(x,y)
|
158
159
|
self.render
|
159
|
-
self.move_to!(
|
160
|
+
self.move_to!(ox,oy)
|
160
161
|
return self
|
161
162
|
end
|
162
163
|
return self.render
|
@@ -173,15 +174,36 @@ module Miyako
|
|
173
174
|
#返却値:: 自分自身を返す
|
174
175
|
def render_xy_to(dst, x, y)
|
175
176
|
if [:pos, :move_to!].all?{|mn| self.class.method_defined?(mn)}
|
176
|
-
|
177
|
+
ox = self.pos[0]
|
178
|
+
oy = self.pos[1]
|
177
179
|
self.move_to!(x,y)
|
178
180
|
self.render_to(dst)
|
179
|
-
self.move_to!(
|
181
|
+
self.move_to!(ox, oy)
|
180
182
|
return self
|
181
183
|
end
|
182
184
|
return self.render_to(dst)
|
183
185
|
end
|
184
186
|
|
187
|
+
#===位置を指定して画面への描画を指示するメソッドのテンプレート
|
188
|
+
#オブジェクトで保持している位置情報ではなく、引数で渡された位置に描画する
|
189
|
+
#基本的に、メソッドのオーバーライドにより機能するが、pos,move_to!メソッドを持っているときは、
|
190
|
+
#これらのメソッドを呼び出して同じ動作を行うが処理速度的に課題あり
|
191
|
+
#ただし、上記のメソッドを持っていない場合は、単純にrenderメソッドを呼び出す
|
192
|
+
#_dx_:: 描画位置のx座標
|
193
|
+
#_dy_:: 描画位置のy座標
|
194
|
+
#返却値:: 自分自身を返す
|
195
|
+
def render_d(dx, dy)
|
196
|
+
if [:pos, :move!, :move_to!].all?{|mn| self.class.method_defined?(mn)}
|
197
|
+
ox = self.pos[0]
|
198
|
+
oy = self.pos[1]
|
199
|
+
self.move!(dx,dy)
|
200
|
+
self.render
|
201
|
+
self.move_to!(ox,oy)
|
202
|
+
return self
|
203
|
+
end
|
204
|
+
return self.render
|
205
|
+
end
|
206
|
+
|
185
207
|
#===画面への描画を指示するメソッドのテンプレート
|
186
208
|
#返却値:: 自分自身を返す
|
187
209
|
def render
|
@@ -394,7 +416,7 @@ module Miyako
|
|
394
416
|
#各要素のupdate_animationメソッドを呼び出す
|
395
417
|
#返却値:: 描く画像のupdate_spriteメソッドを呼び出した結果を配列で返す
|
396
418
|
def update_animation
|
397
|
-
self.
|
419
|
+
self.inject(false){|r, e| r |= (e.class.include?(SpriteBase) || e.class.include?(SpriteArray)) ? e.update_animation : false }
|
398
420
|
end
|
399
421
|
|
400
422
|
#===指定した要素の内容を入れ替える
|
@@ -452,6 +474,18 @@ module Miyako
|
|
452
474
|
def render_xy_to(dst, x, y)
|
453
475
|
return self.each{|e| e.render_xy_to(dst, x, y) if e.class.include?(SpriteBase) || e.class.include?(SpriteArray)}
|
454
476
|
end
|
477
|
+
|
478
|
+
#===位置を指定して画面への描画を指示するメソッドのテンプレート
|
479
|
+
#オブジェクトで保持している位置情報ではなく、引数で渡された位置に描画する
|
480
|
+
#基本的に、メソッドのオーバーライドにより機能するが、pos,move_to!メソッドを持っているときは、
|
481
|
+
#これらのメソッドを呼び出して同じ動作を行うが処理速度的に課題あり
|
482
|
+
#ただし、上記のメソッドを持っていない場合は、単純にrenderメソッドを呼び出す
|
483
|
+
#_x_:: 描画位置のx座標
|
484
|
+
#_y_:: 描画位置のy座標
|
485
|
+
#返却値:: 自分自身を返す
|
486
|
+
def render_d(dx, dy)
|
487
|
+
return self.each{|e| e.render_d(dx, dy) if e.class.include?(SpriteBase) || e.class.include?(SpriteArray) }
|
488
|
+
end
|
455
489
|
end
|
456
490
|
|
457
491
|
#==ディープコピーを実装するモジュール
|
@@ -206,9 +206,6 @@ module Miyako
|
|
206
206
|
ss.snap(self)
|
207
207
|
ss.left!.top!
|
208
208
|
}
|
209
|
-
|
210
|
-
@now.move_to!(@slist[@plist[@pnum]].x + @move_offset[@pnum][0],
|
211
|
-
@slist[@plist[@pnum]].y + @move_offset[@pnum][1])
|
212
209
|
end
|
213
210
|
|
214
211
|
#===複写時に呼び出されるメソッド
|
@@ -479,8 +476,9 @@ module Miyako
|
|
479
476
|
#visibleメソッドの値がfalseのときは描画されない。
|
480
477
|
def render
|
481
478
|
return self unless @now
|
482
|
-
pos = @now.move(*@move_offset[@pnum])
|
483
|
-
@now.render_xy(*pos)
|
479
|
+
# pos = @now.move(*@move_offset[@pnum])
|
480
|
+
# @now.render_xy(*pos)
|
481
|
+
@now.render_d(*@move_offset[@pnum])
|
484
482
|
end
|
485
483
|
|
486
484
|
#===アニメーションの現在の画像を画像に描画する
|
@@ -1361,7 +1361,7 @@ module Miyako
|
|
1361
1361
|
def render_xy(x, y)
|
1362
1362
|
return self.each{|pair|
|
1363
1363
|
obj = pair[1]
|
1364
|
-
cl =
|
1364
|
+
cl = obj.class
|
1365
1365
|
obj.render_xy(x, y) if cl.include?(SpriteBase) || cl.include?(SpriteArray)
|
1366
1366
|
}
|
1367
1367
|
end
|
@@ -1378,11 +1378,27 @@ module Miyako
|
|
1378
1378
|
def render_xy_to(dst, x, y)
|
1379
1379
|
return self.each{|pair|
|
1380
1380
|
obj = pair[1]
|
1381
|
-
cl =
|
1381
|
+
cl = obj.class
|
1382
1382
|
obj.render_xy_to(dst, x, y) if cl.include?(SpriteBase) || cl.include?(SpriteArray)
|
1383
1383
|
}
|
1384
1384
|
end
|
1385
1385
|
|
1386
|
+
#===位置を指定して画面への描画を指示するメソッドのテンプレート
|
1387
|
+
#オブジェクトで保持している位置情報ではなく、引数で渡された位置に描画する
|
1388
|
+
#基本的に、メソッドのオーバーライドにより機能するが、pos,move_to!メソッドを持っているときは、
|
1389
|
+
#これらのメソッドを呼び出して同じ動作を行うが処理速度的に課題あり
|
1390
|
+
#ただし、上記のメソッドを持っていない場合は、単純にrenderメソッドを呼び出す
|
1391
|
+
#_x_:: 描画位置のx座標
|
1392
|
+
#_y_:: 描画位置のy座標
|
1393
|
+
#返却値:: 自分自身を返す
|
1394
|
+
def render_d(dx, dy)
|
1395
|
+
return self.each{|e|
|
1396
|
+
obj = pair[1]
|
1397
|
+
cl = obj.class
|
1398
|
+
obj.render_d(dx, dy) if e.class.include?(SpriteBase) || e.class.include?(SpriteArray)
|
1399
|
+
}
|
1400
|
+
end
|
1401
|
+
|
1386
1402
|
#===オブジェクトを文字列に変換する
|
1387
1403
|
#いったん、名前とスプライトとの対の配列に変換し、to_sメソッドで文字列化する。
|
1388
1404
|
#例:[[name1, sprite1], [name2, sprite2],...]
|
@@ -24,6 +24,28 @@ module Miyako
|
|
24
24
|
#==位置情報のための構造体クラス
|
25
25
|
#位置変更メソッドを追加
|
26
26
|
class PointStruct < Struct
|
27
|
+
def update!(obj)
|
28
|
+
self[0] = obj[0]
|
29
|
+
self[1] = obj[1]
|
30
|
+
self
|
31
|
+
end
|
32
|
+
|
33
|
+
def update_by_point!(obj)
|
34
|
+
update!(obj)
|
35
|
+
end
|
36
|
+
|
37
|
+
def update_by_size!(obj)
|
38
|
+
self
|
39
|
+
end
|
40
|
+
|
41
|
+
def update_by_rect!(obj)
|
42
|
+
update!(obj)
|
43
|
+
end
|
44
|
+
|
45
|
+
def update_by_square!(obj)
|
46
|
+
update!(obj)
|
47
|
+
end
|
48
|
+
|
27
49
|
#===位置を変更する(変化量を指定)
|
28
50
|
#ブロックを渡したとき、ブロックの評価した結果、偽になったときは移動させた値を元に戻す
|
29
51
|
#_dx_:: 移動量(x方向)。単位はピクセル
|
@@ -24,6 +24,38 @@ module Miyako
|
|
24
24
|
#==矩形情報のための構造体クラス
|
25
25
|
#矩形変更メソッドを追加
|
26
26
|
class RectStruct < Struct
|
27
|
+
def update!(obj)
|
28
|
+
self[0] = obj[0]
|
29
|
+
self[1] = obj[1]
|
30
|
+
self[2] = obj[2]
|
31
|
+
self[3] = obj[3]
|
32
|
+
self
|
33
|
+
end
|
34
|
+
|
35
|
+
def update_by_point!(obj)
|
36
|
+
self[0] = obj[0]
|
37
|
+
self[1] = obj[1]
|
38
|
+
self
|
39
|
+
end
|
40
|
+
|
41
|
+
def update_by_size!(obj)
|
42
|
+
self[2] = obj[0]
|
43
|
+
self[3] = obj[1]
|
44
|
+
self
|
45
|
+
end
|
46
|
+
|
47
|
+
def update_by_rect!(obj)
|
48
|
+
update!(obj)
|
49
|
+
end
|
50
|
+
|
51
|
+
def update_by_square!(obj)
|
52
|
+
self[0] = obj[0]
|
53
|
+
self[1] = obj[1]
|
54
|
+
self[2] = obj[2] - self[0] + 1
|
55
|
+
self[3] = obj[3] - self[1] + 1
|
56
|
+
self
|
57
|
+
end
|
58
|
+
|
27
59
|
#===位置を変更する(変化量を指定)
|
28
60
|
# ブロックを渡したとき、ブロックの評価した結果、偽になったときは移動させた値を元に戻す
|
29
61
|
#_dx_:: 移動量(x方向)。単位はピクセル
|
@@ -24,6 +24,32 @@ module Miyako
|
|
24
24
|
#==サイズ情報のための構造体クラス
|
25
25
|
#サイズ変更メソッドを追加
|
26
26
|
class SizeStruct < Struct
|
27
|
+
def update!(obj)
|
28
|
+
self[0] = obj[0]
|
29
|
+
self[1] = obj[1]
|
30
|
+
self
|
31
|
+
end
|
32
|
+
|
33
|
+
def update_by_point!(obj)
|
34
|
+
self
|
35
|
+
end
|
36
|
+
|
37
|
+
def update_by_size!(obj)
|
38
|
+
update!(obj)
|
39
|
+
end
|
40
|
+
|
41
|
+
def update_by_rect!(obj)
|
42
|
+
self[0] = obj[2]
|
43
|
+
self[1] = obj[3]
|
44
|
+
self
|
45
|
+
end
|
46
|
+
|
47
|
+
def update_by_square!(obj)
|
48
|
+
self[0] = obj[2]-obj[0]+1
|
49
|
+
self[1] = obj[3]-obj[1]+1
|
50
|
+
self
|
51
|
+
end
|
52
|
+
|
27
53
|
#===サイズを変更する(変化量を指定)
|
28
54
|
# ブロックを渡したとき、ブロックの評価した結果、偽になったときは移動させた値を元に戻す
|
29
55
|
#_dw_:: 幅変更。単位はピクセル
|
@@ -24,6 +24,42 @@ module Miyako
|
|
24
24
|
#==Square構造体用クラス
|
25
25
|
#位置変更メソッドを追加
|
26
26
|
class SquareStruct < Struct
|
27
|
+
def update!(obj)
|
28
|
+
self[0] = obj[0]
|
29
|
+
self[1] = obj[1]
|
30
|
+
self[2] = obj[2]
|
31
|
+
self[3] = obj[3]
|
32
|
+
self
|
33
|
+
end
|
34
|
+
|
35
|
+
def update_by_point!(obj)
|
36
|
+
w = self[2]-self[0]
|
37
|
+
h = self[3]-self[1]
|
38
|
+
self[0] = obj[0]
|
39
|
+
self[1] = obj[1]
|
40
|
+
self[2] = self[0] + w
|
41
|
+
self[3] = self[1] + h
|
42
|
+
self
|
43
|
+
end
|
44
|
+
|
45
|
+
def update_by_size!(obj)
|
46
|
+
self[2] = self[0] + obj[0] - 1
|
47
|
+
self[3] = self[1] + obj[1] - 1
|
48
|
+
self
|
49
|
+
end
|
50
|
+
|
51
|
+
def update_by_rect!(obj)
|
52
|
+
self[0] = obj[0]
|
53
|
+
self[1] = obj[1]
|
54
|
+
self[2] = self[0] + obj[2] - 1
|
55
|
+
self[3] = self[1] + obj[3] - 1
|
56
|
+
self
|
57
|
+
end
|
58
|
+
|
59
|
+
def update_by_square!(obj)
|
60
|
+
update!(obj)
|
61
|
+
end
|
62
|
+
|
27
63
|
#===位置を変更する(変化量を指定)
|
28
64
|
# ブロックを渡したとき、ブロックの評価した結果、偽になったときは移動させた値を元に戻す
|
29
65
|
#_dx_:: 移動量(x方向)。単位はピクセル
|
data/lib/Miyako/miyako.rb
CHANGED
@@ -3,13 +3,13 @@
|
|
3
3
|
#=コンテンツ作成ライブラリMiyako2.1
|
4
4
|
#
|
5
5
|
#Authors:: サイロス誠
|
6
|
-
#Version:: 2.1.
|
6
|
+
#Version:: 2.1.12
|
7
7
|
#Copyright:: 2007-2010 Cyross Makoto
|
8
8
|
#License:: LGPL2.1
|
9
9
|
#
|
10
10
|
=begin
|
11
11
|
Miyako v2.1
|
12
|
-
Copyright (C) 2007-
|
12
|
+
Copyright (C) 2007-2010 Cyross Makoto
|
13
13
|
|
14
14
|
This library is free software; you can redistribute it and/or
|
15
15
|
modify it under the terms of the GNU Lesser General Public
|
@@ -63,7 +63,7 @@ Thread.abort_on_exception = true
|
|
63
63
|
|
64
64
|
#==Miyako基幹モジュール
|
65
65
|
module Miyako
|
66
|
-
VERSION = "2.1.
|
66
|
+
VERSION = "2.1.12"
|
67
67
|
|
68
68
|
#===アプリケーション実行中に演奏する音楽のサンプリングレートを指定する
|
69
69
|
#単位はHz(周波数)
|
data/miyako_no_katana.c
CHANGED
@@ -636,6 +636,38 @@ static VALUE sprite_render_rect2_xy_to_sprite(VALUE self, VALUE vdst, VALUE vrec
|
|
636
636
|
return self;
|
637
637
|
}
|
638
638
|
|
639
|
+
/*
|
640
|
+
*/
|
641
|
+
static VALUE sprite_render_d(VALUE self, VALUE vdx, VALUE vdy)
|
642
|
+
{
|
643
|
+
VALUE src_unit, dst_unit, *s_p, *d_p;
|
644
|
+
SDL_Surface *src, *dst;
|
645
|
+
SDL_Rect srect, drect;
|
646
|
+
|
647
|
+
if(rb_iv_get(self, str_visible) == Qfalse) return self;
|
648
|
+
|
649
|
+
src_unit = rb_iv_get(self, "@unit");
|
650
|
+
dst_unit = rb_iv_get(mScreen, "@@unit");
|
651
|
+
|
652
|
+
src = GetSurface(*(RSTRUCT_PTR(src_unit)+0))->surface;
|
653
|
+
dst = GetSurface(*(RSTRUCT_PTR(dst_unit)+0))->surface;
|
654
|
+
|
655
|
+
s_p = RSTRUCT_PTR(src_unit);
|
656
|
+
srect.x = NUM2INT(*(s_p + 1));
|
657
|
+
srect.y = NUM2INT(*(s_p + 2));
|
658
|
+
srect.w = NUM2INT(*(s_p + 3));
|
659
|
+
srect.h = NUM2INT(*(s_p + 4));
|
660
|
+
|
661
|
+
d_p = RSTRUCT_PTR(dst_unit);
|
662
|
+
drect.x = NUM2INT(*(d_p + 1)) + NUM2INT(*(s_p + 5)) + NUM2INT(vdx);
|
663
|
+
drect.y = NUM2INT(*(d_p + 2)) + NUM2INT(*(s_p + 6)) + NUM2INT(vdy);
|
664
|
+
drect.w = NUM2INT(*(d_p + 3));
|
665
|
+
drect.h = NUM2INT(*(d_p + 4));
|
666
|
+
|
667
|
+
SDL_BlitSurface(src, &srect, dst, &drect);
|
668
|
+
return self;
|
669
|
+
}
|
670
|
+
|
639
671
|
/*
|
640
672
|
:nodoc:
|
641
673
|
*/
|
@@ -1273,6 +1305,7 @@ static VALUE sa_update(VALUE self)
|
|
1273
1305
|
return is_change;
|
1274
1306
|
}
|
1275
1307
|
|
1308
|
+
#if 0
|
1276
1309
|
/*
|
1277
1310
|
*/
|
1278
1311
|
static VALUE sa_render(VALUE self)
|
@@ -1359,6 +1392,7 @@ static VALUE sa_render_to_sprite(VALUE self, VALUE vdst)
|
|
1359
1392
|
|
1360
1393
|
return Qnil;
|
1361
1394
|
}
|
1395
|
+
#endif
|
1362
1396
|
|
1363
1397
|
/*
|
1364
1398
|
*/
|
@@ -1585,6 +1619,7 @@ void Init_miyako_no_katana()
|
|
1585
1619
|
rb_define_method(cSprite, "render_rect_xy_to", sprite_render_rect_xy_to_sprite, 4);
|
1586
1620
|
rb_define_method(cSprite, "render_rect2_xy", sprite_render_rect2_xy, 3);
|
1587
1621
|
rb_define_method(cSprite, "render_rect2_xy_to", sprite_render_rect2_xy_to_sprite, 4);
|
1622
|
+
rb_define_method(cSprite, "render_d", sprite_render_d, 2);
|
1588
1623
|
|
1589
1624
|
rb_define_method(cPlane, "render", plane_render, 0);
|
1590
1625
|
rb_define_method(cPlane, "render_to", plane_render_to_sprite, 1);
|
data/miyako_sprite2.c
CHANGED
@@ -271,7 +271,7 @@ static VALUE sprite_array_reset(VALUE self)
|
|
271
271
|
*/
|
272
272
|
static VALUE sprite_array_update_animation(VALUE self)
|
273
273
|
{
|
274
|
-
VALUE ret =
|
274
|
+
VALUE ret = Qfalse;
|
275
275
|
int i;
|
276
276
|
for(i=0; i<RARRAY_LEN(self); i++)
|
277
277
|
{
|
@@ -280,11 +280,9 @@ static VALUE sprite_array_update_animation(VALUE self)
|
|
280
280
|
if(rb_mod_include_p(c, mSpriteBase) == Qtrue ||
|
281
281
|
rb_mod_include_p(c, mSpriteArray) == Qtrue)
|
282
282
|
{
|
283
|
-
VALUE
|
284
|
-
|
283
|
+
VALUE tmp = rb_funcall(v, id_update_animation, 0);
|
284
|
+
if(tmp != Qnil && tmp != Qfalse) ret = Qtrue;
|
285
285
|
}
|
286
|
-
else
|
287
|
-
rb_ary_push(ret, Qfalse);
|
288
286
|
}
|
289
287
|
return ret;
|
290
288
|
}
|
@@ -535,11 +533,12 @@ static VALUE sprite_list_reset(VALUE self)
|
|
535
533
|
static VALUE sprite_list_update_animation(VALUE self)
|
536
534
|
{
|
537
535
|
VALUE array = rb_iv_get(self, str_list);
|
538
|
-
VALUE ret =
|
536
|
+
VALUE ret = Qfalse;
|
539
537
|
int i;
|
540
538
|
for(i=0; i<RARRAY_LEN(array); i++)
|
541
539
|
{
|
542
|
-
|
540
|
+
VALUE tmp = lps_update_animation(*(RARRAY_PTR(array)+i));
|
541
|
+
if(tmp != Qnil && tmp != Qfalse) ret = Qtrue;
|
543
542
|
}
|
544
543
|
return ret;
|
545
544
|
}
|
data/sample/drawer_sample.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#encoding: utf-8
|
2
2
|
#Drawerクラスサンプル
|
3
3
|
#画面に星を表示させる
|
4
|
-
#2010.05.
|
4
|
+
#2010.05.03 Cyross Makoto
|
5
5
|
|
6
6
|
require 'miyako'
|
7
7
|
require 'Miyako/EXT/drawer'
|
@@ -13,6 +13,8 @@ RadianOffset = 0.2 * Math::PI # inner point (radian of 36deg)
|
|
13
13
|
W = 7
|
14
14
|
H = 5
|
15
15
|
R = 32
|
16
|
+
TIMES = 16
|
17
|
+
ROUND_R = 128
|
16
18
|
|
17
19
|
def base_line(sprite)
|
18
20
|
end
|
@@ -43,6 +45,18 @@ end
|
|
43
45
|
axis = [Drawer.new(:method=>:line, :rect=>[320,0,1,480], :color=>:white), # y-axis
|
44
46
|
Drawer.new(:method=>:line, :rect=>[0,240,640,1], :color=>:white)] # x-axis
|
45
47
|
|
48
|
+
# circle
|
49
|
+
circle = SpriteAnimation.new(
|
50
|
+
:sprites=>[Drawer.new(:method=>:circle, :r=>48, :point=>[0,0], :color=>:red, :fill=>true)],
|
51
|
+
:wait=>0.05,
|
52
|
+
:move_offset=>TIMES.times.to_a.map{|n|
|
53
|
+
radian = 2*n.to_f/TIMES.to_f*Math::PI
|
54
|
+
[320+ROUND_R*Math.sin(radian),
|
55
|
+
240+ROUND_R*Math.cos(radian)]
|
56
|
+
}
|
57
|
+
)
|
58
|
+
|
59
|
+
|
46
60
|
# stars
|
47
61
|
stars = H.times.to_a.map{|y|
|
48
62
|
W.times.to_a.map{|x|
|
@@ -57,9 +71,13 @@ stars = H.times.to_a.map{|y|
|
|
57
71
|
}
|
58
72
|
|
59
73
|
Sprite[:axis] = axis
|
74
|
+
Sprite[:circle] = circle
|
60
75
|
Sprite[:stars] = stars
|
61
76
|
|
77
|
+
Animation[:circle] = circle
|
62
78
|
Animation[:stars] = stars
|
79
|
+
|
80
|
+
circle.start
|
63
81
|
stars.start
|
64
82
|
|
65
83
|
Miyako.main_loop do
|
data/win/miyako_no_katana.so
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-miyako
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cyross Makoto
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-05-
|
12
|
+
date: 2010-05-04 00:00:00 +09:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|