ruby-miyako-mswin32 2.1.1 → 2.1.2

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.
data/README CHANGED
@@ -1,8 +1,8 @@
1
1
  *******************************************************************************
2
2
  【 作者名 】 サイロス誠
3
3
  【 ソフト名 】 Interactive Media Authoring System "Miyako"
4
- 【 バージョン 】 2.1.1
5
- 【 作成日 】 2009/10/16
4
+ 【 バージョン 】 2.1.2
5
+ 【 作成日 】 2009/10/25
6
6
  【 種別 】 フリーウェア
7
7
  【 開発言語 】 Ruby 1.9.1
8
8
  【 ランタイム 】 Ruby 1.9.1~,Ruby/SDL 2.1~,SDL
@@ -1343,7 +1343,7 @@ v2.1.0(2009.10.9)
1343
1343
  ・Segments#max_x
1344
1344
  ・Segments#max_y
1345
1345
 
1346
- v2.1.0.1(2009.10.16)
1346
+ v2.1.1(2009.10.16)
1347
1347
  <バグ修正>
1348
1348
  ・InitiativeYuki#commandメソッドで、選択不可の選択肢を選んだときにメソッド処理が終了するバグを修正
1349
1349
  ・Font#draw_textメソッドで、文字を転送先画像の外で描画するとSEGVを起こす問題を修正
@@ -1366,5 +1366,37 @@ v2.1.0.1(2009.10.16)
1366
1366
  ・WaitCounter#stop_callback_inner
1367
1367
  <インスタンスメソッド廃止>
1368
1368
 
1369
+ v2.1.2(2009.10.25)
1370
+ <バグ修正>
1371
+ ・Plane#render,render_toメソッドで、画面より小さいスプライトを描画しようとしても何も描画されないバグを修正
1372
+ ・Plane#move!,move_to!メソッドで、描画時に画面の左上が描画されない時があるバグを修正
1373
+ ・Plane#move,move_toメソッドが、move!、move_to!と全く同じ動作をするバグを修正
1374
+ <機能改善>
1375
+ ・各種render_toメソッドでの内部処理の安全性を高めた
1376
+ <仕様変更>
1377
+ ・Sprite#part_move!,move_to!,resize!,resize_to!などのメソッドで、部分矩形の大きさを自動的に補正する処理を廃止
1378
+ ・Sprite#ox=,oh=,ow=,oh=で、画像の範囲外の値を設定すると例外が発生する処理を廃止
1379
+ <ファイル追加>
1380
+ <ファイル削除>
1381
+ <グローバル変数追加>
1382
+ <定数追加>
1383
+ <定数削除>
1384
+ <構造体追加>
1385
+ <クラス追加>
1386
+ <モジュール追加>
1387
+ <mixin>
1388
+ <クラス・モジュールメソッド追加>
1389
+ <クラス・モジュールメソッド廃止>
1390
+ <インスタンスメソッド追加>
1391
+ ・Sprite#render_rect
1392
+ ・Sprite#render_rect_to
1393
+ ・Sprite#render_rect2
1394
+ ・Sprite#render_rect2_to
1395
+ ・Sprite#render_rect_xy
1396
+ ・Sprite#render_rect_xy_to
1397
+ ・Sprite#render_rect2_xy
1398
+ ・Sprite#render_rect2_xy_to
1399
+ <インスタンスメソッド廃止>
1400
+
1369
1401
  *******************************************************************************
1370
1402
  このReadMeファイルは「れ~どめ~えじた~」によって作成されました。
@@ -69,6 +69,14 @@ module Miyako
69
69
  return @pos.y
70
70
  end
71
71
 
72
+ def adjust_pos(pos) #:nodocs:
73
+ pos.x %= @sprite.ow if pos.x >= @sprite.ow || pos.x <= -@sprite.ow
74
+ pos.y %= @sprite.oh if pos.y >= @sprite.oh || pos.y <= -@sprite.oh
75
+ return pos
76
+ end
77
+
78
+ private :adjust_pos
79
+
72
80
  #===プレーンの表示位置を移動させる
73
81
  #画像スクロールと同じ効果を得る
74
82
  #_dx_:: 移動量(x 座標)
@@ -76,8 +84,7 @@ module Miyako
76
84
  #返却値:: 自分自身を返す
77
85
  def move!(dx, dy)
78
86
  @pos.move!(dx, dy)
79
- @pos.x %= @sprite.ow if @pos.x >= @sprite.ow || @pos.x <= -@sprite.ow
80
- @pos.y %= @sprite.oh if @pos.y >= @sprite.oh || @pos.y <= -@sprite.oh
87
+ @pos = adjust_pos(@pos)
81
88
  return self
82
89
  end
83
90
 
@@ -88,8 +95,7 @@ module Miyako
88
95
  #返却値:: 自分自身を返す
89
96
  def move_to!(x, y)
90
97
  @pos.move_to!(x, y)
91
- @pos.x %= @screen.ow if @pos.x >= @sprite.ow || @pos.x <= -@sprite.ow
92
- @pos.y %= @screen.oh if @pos.y >= @sprite.oh || @pos.y <= -@sprite.oh
98
+ @pos = adjust_pos(@pos)
93
99
  return self
94
100
  end
95
101
 
@@ -99,11 +105,8 @@ module Miyako
99
105
  #_dx_:: 移動量(x 座標)
100
106
  #_dy_:: 移動量(y 座標)
101
107
  #返却値:: 変更したPosition構造体を返す
102
- def move!(dx, dy)
103
- @pos.move!(dx, dy)
104
- @pos.x %= @sprite.ow if @pos.x >= @sprite.ow || @pos.x <= -@sprite.ow
105
- @pos.y %= @sprite.oh if @pos.y >= @sprite.oh || @pos.y <= -@sprite.oh
106
- return self
108
+ def move(dx, dy)
109
+ return adjust_pos(@pos.move(dx, dy))
107
110
  end
108
111
 
109
112
  #===プレーンの表示位置を移動させたときの位置を求める(移動位置指定)
@@ -112,11 +115,8 @@ module Miyako
112
115
  #_x_:: 移動先の位置(x 座標)
113
116
  #_y_:: 移動先の位置(y 座標)
114
117
  #返却値:: 変更したPosition構造体を返す
115
- def move_to!(x, y)
116
- @pos.move_to!(x, y)
117
- @pos.x %= @screen.ow if @pos.x >= @sprite.ow || @pos.x <= -@sprite.ow
118
- @pos.y %= @screen.oh if @pos.y >= @sprite.oh || @pos.y <= -@sprite.oh
119
- return self
118
+ def move_to(x, y)
119
+ return adjust_pos(@pos.move_to(x, y))
120
120
  end
121
121
 
122
122
  #===画像の表示矩形を取得する
@@ -138,23 +138,6 @@ module Miyako
138
138
  @sprite.dispose
139
139
  end
140
140
 
141
- #===画面に描画を指示する
142
- #現在表示できるプレーンを、現在の状態で描画するよう指示する
143
- #--
144
- #(但し、実際に描画されるのはScreen.renderメソッドが呼び出された時)
145
- #++
146
- #返却値:: 自分自身を返す
147
- def render
148
- @size.h.times{|y|
149
- @size.w.times{|x|
150
- u = @sprite.to_unit
151
- u.move_to!(x * @sprite.ow + @pos.x, y * @sprite.oh + @pos.y)
152
- Screen.render_screen(u) if u.x >= 0 && u.y >= 0 && u.x + u.ow <= Screen.bitmap.w && u.y + u.oh <= Screen.bitmap.h
153
- }
154
- }
155
- return self
156
- end
157
-
158
141
  #===描画の素になるスプライトのアニメーションを更新する
159
142
  #返却値:: 更新した結果、パターンが変わった・アニメーションが終了したときはtrue、それ以外はfalseを返す
160
143
  def update_animation
@@ -190,6 +173,12 @@ module Miyako
190
173
  #画面の描画範囲は、src側SpriteUnitの(x,y)を起点に、タイリングを行いながら貼り付ける。
191
174
  #visibleメソッドの値がfalseのときは描画されない。
192
175
  def render
176
+ @size.h.times{|y|
177
+ @size.w.times{|x|
178
+ @sprite.render_xy(x * @sprite.ow + @pos.x, y * @sprite.oh + @pos.y)
179
+ }
180
+ }
181
+ return self
193
182
  end
194
183
 
195
184
  #===プレーンを画像に描画する
@@ -198,6 +187,12 @@ module Miyako
198
187
  #visibleメソッドの値がfalseのときは描画されない。
199
188
  #_dst_:: 転送先ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
200
189
  def render_to(dst)
190
+ @size.h.times{|y|
191
+ @size.w.times{|x|
192
+ @sprite.render_xy_to(dst, x * @sprite.ow + @pos.x, y * @sprite.oh + @pos.y)
193
+ }
194
+ }
195
+ return self
201
196
  end
202
197
 
203
198
  def_delegators(:sprite)
@@ -248,7 +248,6 @@ module Miyako
248
248
  #値が画像の幅の範囲外(値がマイナス、画像の幅を超える値)のときは例外が発生する
249
249
  #_v_:: 表示開始位置。整数で指定
250
250
  def ox=(v)
251
- raise MiyakoValueError, "Illegal ox parameter! : #{v} (range: 0..#{@w-@unit.ow})" if (v < 0 || (v+@unit.ow) > @w)
252
251
  @unit.ox = v
253
252
  end
254
253
 
@@ -257,7 +256,6 @@ module Miyako
257
256
  #値が画像の高さの範囲外(値がマイナス、画像の高さを超える値)のときは例外が発生する
258
257
  #_v_:: 表示開始位置。整数で指定
259
258
  def oy=(v)
260
- raise MiyakoValueError, "Illegal oy parameter! : #{v} (range: 0..#{@h-@unit.oh})" if (v < 0 || (v+@unit.oh) > @h)
261
259
  @unit.oy = v
262
260
  end
263
261
 
@@ -266,7 +264,6 @@ module Miyako
266
264
  #値が画像の幅の範囲外(値がマイナス、画像の幅を超える値)のときは例外が発生する
267
265
  #_v_:: 表示幅。整数で指定
268
266
  def ow=(v)
269
- raise MiyakoValueError, "Illegal ox parameter! : #{v} (range: 0..#{@w-@unit.ox})" if (v < 0 || (@unit.ox+v) > @w)
270
267
  @unit.ow = v
271
268
  set_layout_size(v, @unit.oh)
272
269
  end
@@ -276,7 +273,6 @@ module Miyako
276
273
  #値が画像の高さの範囲外(値がマイナス、画像の高さを超える値)のときは例外が発生する
277
274
  #_v_:: 表示高。整数で指定
278
275
  def oh=(v)
279
- raise MiyakoValueError, "Illegal ox parameter! : #{v} (range: 0..#{@h-@unit.oy})" if (v < 0 || (@unit.oy+v) > @h)
280
276
  @unit.oh = v
281
277
  set_layout_size(@unit.ow, v)
282
278
  end
@@ -288,30 +284,30 @@ module Miyako
288
284
  end
289
285
 
290
286
  def adjust_part(ox, oy, ow, oh)
291
- if ox < 0
292
- ow += ox
293
- ox = 0
294
- end
295
- if oy < 0
296
- oh += oy
297
- oy = 0
298
- end
299
- ow = 1 if ow <= 0
300
- oh = 1 if oh <= 0
301
- if ox + ow > w
302
- ow = w - ox
303
- if ow == 0
304
- ox -= 1
305
- ow = 1
306
- end
307
- end
308
- if oy + oh > h
309
- oh = h - oy
310
- if oh == 0
311
- oy -= 1
312
- oh = 1
313
- end
314
- end
287
+ # if ox < 0
288
+ # ow += ox
289
+ # ox = 0
290
+ # end
291
+ # if oy < 0
292
+ # oh += oy
293
+ # oy = 0
294
+ # end
295
+ # ow = 1 if ow <= 0
296
+ # oh = 1 if oh <= 0
297
+ # if ox + ow > w
298
+ # ow = w - ox
299
+ # if ow == 0
300
+ # ox -= 1
301
+ # ow = 1
302
+ # end
303
+ # end
304
+ # if oy + oh > h
305
+ # oh = h - oy
306
+ # if oh == 0
307
+ # oy -= 1
308
+ # oh = 1
309
+ # end
310
+ # end
315
311
  Rect.new(ox,oy,ow,oh)
316
312
  end
317
313
 
@@ -562,29 +558,24 @@ module Miyako
562
558
  def render_to(dst)
563
559
  end
564
560
 
565
- #===インスタンスの内容を画面に描画する
566
- #現在の画像を、現在の状態で描画するよう指示する
567
- #ブロック付きで呼び出し可能(レシーバに対応したSpriteUnit構造体が引数として得られるので、補正をかけることが出来る)
568
- #(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
569
- #ブロックの引数は、|インスタンスのSpriteUnit, 画面のSpriteUnit|となる。
561
+ #===インスタンスの内容を画面の指定の位置に描画する
562
+ #画像を画面の[x,y]の位置を開始点として描画する
563
+ #このメソッドでは、あらかじめ持っている描画開始位置を無視して描画する
570
564
  #visibleメソッドの値がfalseのときは描画されない。
571
565
  #返却値:: 自分自身を返す
572
566
  def render_xy(x,y)
573
567
  end
574
568
 
575
- #===インスタンスの内容を別のインスタンスに描画する
576
- #転送元の描画範囲は、src側SpriteUnitの(ox,oy)を起点に、src側(ow,oh)の範囲で転送する。
577
- #画面の描画範囲は、src側SpriteUnitの(x,y)を起点に設定にする。
578
- #ブロック付きで呼び出し可能(レシーバに対応したSpriteUnit構造体が引数として得られるので、補正をかけることが出来る)
579
- #(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
580
- #ブロックの引数は、|インスタンスのSpriteUnit,転送先のSpriteUnit|となる。
569
+ #===インスタンスの内容を別のインスタンスの指定の位置に描画する
570
+ #画像を大正の画像の[x,y]位置を開始点として描画する
571
+ #このメソッドでは、あらかじめ持っている描画開始位置を無視して描画する
581
572
  #visibleメソッドの値がfalseのときは描画されない。
582
573
  #_dst_:: 転送先ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
583
574
  #返却値:: 自分自身を返す
584
575
  def render_xy_to(dst,x,y)
585
576
  end
586
577
 
587
- #===インスタンスの内容を画面に描画する
578
+ #===部分矩形の一部分を画面に描画する
588
579
  #現在の画像を、現在の状態で描画するよう指示する
589
580
  #ブロック付きで呼び出し可能(レシーバに対応したSpriteUnit構造体が引数として得られるので、補正をかけることが出来る)
590
581
  #(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
@@ -594,7 +585,7 @@ module Miyako
594
585
  def render_rect(rect)
595
586
  end
596
587
 
597
- #===インスタンスの内容を別のインスタンスに描画する
588
+ #===部分矩形の一部分を別のインスタンスに描画する
598
589
  #転送元の描画範囲は、src側SpriteUnitの(ox,oy)を起点に、src側(ow,oh)の範囲で転送する。
599
590
  #画面の描画範囲は、src側SpriteUnitの(x,y)を起点に設定にする。
600
591
  #ブロック付きで呼び出し可能(レシーバに対応したSpriteUnit構造体が引数として得られるので、補正をかけることが出来る)
@@ -606,50 +597,71 @@ module Miyako
606
597
  def render_rect_to(dst,rect)
607
598
  end
608
599
 
609
- #===インスタンスの内容を画面に描画する
610
- #現在の画像を、現在の状態で描画するよう指示する
611
- #ブロック付きで呼び出し可能(レシーバに対応したSpriteUnit構造体が引数として得られるので、補正をかけることが出来る)
612
- #(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
613
- #ブロックの引数は、|インスタンスのSpriteUnit, 画面のSpriteUnit|となる。
600
+ #===画像の一部分を画面に描画する
601
+ #画像の一部分(rect構造体で示した矩形)を画面に描画する
602
+ #このメソッドでは、部分矩形を無視して描画する
614
603
  #visibleメソッドの値がfalseのときは描画されない。
604
+ #_rect_:: Rect構造体
615
605
  #返却値:: 自分自身を返す
616
606
  def render_rect2(rect)
617
607
  end
618
608
 
619
- #===インスタンスの内容を別のインスタンスに描画する
620
- #転送元の描画範囲は、src側SpriteUnitの(ox,oy)を起点に、src側(ow,oh)の範囲で転送する。
621
- #画面の描画範囲は、src側SpriteUnitの(x,y)を起点に設定にする。
622
- #ブロック付きで呼び出し可能(レシーバに対応したSpriteUnit構造体が引数として得られるので、補正をかけることが出来る)
623
- #(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
624
- #ブロックの引数は、|インスタンスのSpriteUnit,転送先のSpriteUnit|となる。
609
+ #===画像の一部分を別のインスタンスに描画する
610
+ #画像の一部分(rect構造体で示した矩形)を別のスプライトに描画する
611
+ #このメソッドでは、部分矩形を無視して描画する
625
612
  #visibleメソッドの値がfalseのときは描画されない。
626
613
  #_dst_:: 転送先ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
614
+ #_rect_:: Rect構造体
627
615
  #返却値:: 自分自身を返す
628
616
  def render_rect2_to(dst,rect)
629
617
  end
630
618
 
631
- #===インスタンスの内容を画面に描画する
632
- #現在の画像を、現在の状態で描画するよう指示する
633
- #ブロック付きで呼び出し可能(レシーバに対応したSpriteUnit構造体が引数として得られるので、補正をかけることが出来る)
634
- #(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
635
- #ブロックの引数は、|インスタンスのSpriteUnit, 画面のSpriteUnit|となる。
619
+ #===部分矩形の一部分を画面の指定の位置に描画する
620
+ #画像の一部分(rect構造体で示した矩形)を画面の[x,y]の位置を開始点として描画する
621
+ #このメソッドでは、あらかじめ持っている描画開始位置を無視して描画する
636
622
  #visibleメソッドの値がfalseのときは描画されない。
623
+ #_rect_:: Rect構造体
624
+ #_x_:: 描画開始位置(x座標)
625
+ #_y_:: 描画開始位置(y座標)
637
626
  #返却値:: 自分自身を返す
638
627
  def render_rect_xy(rect,x,y)
639
628
  end
640
629
 
641
- #===インスタンスの内容を別のインスタンスに描画する
642
- #転送元の描画範囲は、src側SpriteUnitの(ox,oy)を起点に、src側(ow,oh)の範囲で転送する。
643
- #画面の描画範囲は、src側SpriteUnitの(x,y)を起点に設定にする。
644
- #ブロック付きで呼び出し可能(レシーバに対応したSpriteUnit構造体が引数として得られるので、補正をかけることが出来る)
645
- #(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない)
646
- #ブロックの引数は、|インスタンスのSpriteUnit,転送先のSpriteUnit|となる。
630
+ #===部分矩形の一部分を別のインスタンスの指定の位置にに描画する
631
+ #画像の一部分(rect構造体で示した矩形)をスプライトの[x,y]の位置を開始点として描画する
632
+ #このメソッドでは、あらかじめ持っている描画開始位置を無視して描画する
647
633
  #visibleメソッドの値がfalseのときは描画されない。
648
634
  #_dst_:: 転送先ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
635
+ #_rect_:: Rect構造体
636
+ #_x_:: 描画開始位置(x座標)
637
+ #_y_:: 描画開始位置(y座標)
649
638
  #返却値:: 自分自身を返す
650
639
  def render_rect_xy_to(dst,rect,x,y)
651
640
  end
652
641
 
642
+ #===画像の一部分を画面の指定の位置に描画する
643
+ #画像の一部分(rect構造体で示した矩形)を画面の[x,y]の位置を開始点として描画する
644
+ #このメソッドでは、あらかじめ持っている描画開始位置と部分矩形を無視して描画する
645
+ #visibleメソッドの値がfalseのときは描画されない。
646
+ #_rect_:: Rect構造体
647
+ #_x_:: 描画開始位置(x座標)
648
+ #_y_:: 描画開始位置(y座標)
649
+ #返却値:: 自分自身を返す
650
+ def render_rect2_xy(rect,x,y)
651
+ end
652
+
653
+ #===画像の一部分を別のインスタンスの指定の位置にに描画する
654
+ #画像の一部分(rect構造体で示した矩形)をスプライトの[x,y]の位置を開始点として描画する
655
+ #このメソッドでは、あらかじめ持っている描画開始位置と部分矩形を無視して描画する
656
+ #visibleメソッドの値がfalseのときは描画されない。
657
+ #_dst_:: 転送先ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
658
+ #_rect_:: Rect構造体
659
+ #_x_:: 描画開始位置(x座標)
660
+ #_y_:: 描画開始位置(y座標)
661
+ #返却値:: 自分自身を返す
662
+ def render_rect2_xy_to(dst,rect,x,y)
663
+ end
664
+
653
665
  #===インスタンスの内容を画面に描画する(回転/拡大/縮小/鏡像付き)
654
666
  #転送元の描画範囲は、src側SpriteUnitの(ox,oy)を起点に、src側(ow,oh)の範囲で転送する。回転の中心はsrc側(ox,oy)を起点に、src側(cx,cy)が中心になるように設定する。
655
667
  #画面の描画範囲は、src側SpriteUnitの(x,y)を起点に、画面側SpriteUnitの(cx,cy)が中心になるように設定にする。
@@ -60,7 +60,7 @@ Thread.abort_on_exception = true
60
60
 
61
61
  #==Miyako基幹モジュール
62
62
  module Miyako
63
- VERSION = "2.1.1"
63
+ VERSION = "2.1.2"
64
64
 
65
65
  #===アプリケーション実行中に演奏する音楽のサンプリングレートを指定する
66
66
  #単位はHz(周波数)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-miyako-mswin32
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.1
4
+ version: 2.1.2
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: 2009-10-16 00:00:00 +09:00
12
+ date: 2009-10-25 00:00:00 +09:00
13
13
  default_executable:
14
14
  dependencies: []
15
15