ruby-miyako 2.1.4 → 2.1.5

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.4
5
- 【 作成日 】 2009/11/10
4
+ 【 バージョン 】 2.1.5
5
+ 【 作成日 】 2010/01/01
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.4公式リリース版です。
18
+ 本バージョンは、2.1.5公式リリース版です。
19
19
  本バージョンでは、ドキュメント・リファレンスは不十分ですが、「サイログ。」内や、サンプルプログラムの紹介等で随時ドキュメントを公開して行きます。
20
20
  (RDOC化を進めていますので、我こそはと思う方は是非・・・)
21
21
 
@@ -1470,8 +1470,6 @@ v2.1.4(2009.11.10)
1470
1470
  ・(Initiative)Yuki#pre_hide
1471
1471
  ・(Initiative)Yuki#bg_show
1472
1472
  ・(Initiative)Yuki#bg_hide
1473
- ・(Initiative)Yuki#bg_show
1474
- ・(Initiative)Yuki#bg_hide
1475
1473
  ・(Initiative)Yuki#show_textbox
1476
1474
  ・(Initiative)Yuki#show_commandbox
1477
1475
  ・(Initiative)Yuki#hide_textbox
@@ -1479,5 +1477,44 @@ v2.1.4(2009.11.10)
1479
1477
  ・(Initiative)Yuki#box_shared?
1480
1478
  <インスタンスメソッド廃止>
1481
1479
 
1480
+ v2.1.5(2010.01.01)
1481
+ <バグ修正>
1482
+ ・Layout#.include_snap_child?メソッドの戻り値間違いを修正
1483
+ ・拡張ライブラリのソースがVisualCでビルドできない問題を修正
1484
+ ・無駄なForwardableモジュールのmixinを削除
1485
+ ・無駄なforwardable.rbの読み込みを削除
1486
+  (Ruby1.9.2で、二重requireのメッセージが出ていたのを解決)
1487
+ ・Forwardable.rbの読み込みを削除(ファイル名間違い)
1488
+ ・一部ソースを、Ruby.1.9.2で動作しないものがあったため修正
1489
+ ・一部サンプルを、Ruby1.9.2で動作するように修正
1490
+ <機能改善>
1491
+ <仕様変更>
1492
+ ・起動時の表示モードをウインドウモードに変更
1493
+ ・Yuki#render/render_to/update_animationにあったvisiblesのrender/render_to/update_animationの呼び出しを廃止
1494
+ ・InitiativeYuki#render/render_to/update_animationにあったvisiblesのrender/render_to/update_animationの呼び出しを廃止
1495
+ <ファイル追加>
1496
+ <ファイル削除>
1497
+ <グローバル変数追加>
1498
+ <定数追加>
1499
+ <定数削除>
1500
+ <構造体追加>
1501
+ <クラス追加>
1502
+ ・ScenarioEngine(Yukiと同等)
1503
+ ・InitiativeScenarioEngine(InitiativeYukiと同等)
1504
+ ・InitiativeScenarioEngineTemplate(InitiativeYukiTemplateと同等)
1505
+ <モジュール追加>
1506
+ <mixin>
1507
+ <クラス・モジュールメソッド追加>
1508
+ <クラス・モジュールメソッド廃止>
1509
+ <モジュール関数追加>
1510
+ <インスタンスメソッド追加>
1511
+ ・scenario_plot(yuki_plotと同等)
1512
+ ・Yuki#over_engine
1513
+ <インスタンスメソッド廃止>
1514
+ ・Parts#part_move!
1515
+ ・Parts#part_move_to!
1516
+ ・TextBox#select_type/selct_type=
1517
+ ・InitiativeScenarioEngine#over_exec
1518
+
1482
1519
  *******************************************************************************
1483
1520
  このReadMeファイルは「れ~どめ~えじた~」によって作成されました。
@@ -21,8 +21,6 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21
21
  =end
22
22
 
23
23
  module Miyako
24
- require 'delegate'
25
-
26
24
  class ChoiceStruct < Struct
27
25
  include SpriteBase
28
26
  include Animation
@@ -20,15 +20,11 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20
20
  ++
21
21
  =end
22
22
 
23
- require 'delegate'
24
-
25
23
  module Miyako
26
24
  #==矩形当たり判定領域(コリジョン)クラス
27
25
  # コリジョンの範囲は、元データ(スプライト等)の左上端を[0.0,0.0]として考案する
28
26
  # コリジョンで使用する値は、実数での設定が可能
29
27
  class Collision
30
- extend Forwardable
31
-
32
28
  # 関連づけられたインスタンス
33
29
  attr_reader :body
34
30
  # コリジョンの範囲([x,y,w,h])
@@ -20,9 +20,6 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20
20
  ++
21
21
  =end
22
22
 
23
- require 'csv'
24
- require 'forwardable'
25
-
26
23
  module Miyako
27
24
  #==スクロールしないマップクラス
28
25
  class FixedMap
@@ -20,51 +20,50 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20
20
  ++
21
21
  =end
22
22
 
23
- #lambdaの別名として、yuki_plotメソッドを追加
24
- alias :yuki_plot :lambda
25
-
26
23
  #=シナリオ言語Yuki実装モジュール
27
24
  module Miyako
28
25
 
29
26
  #==InitiativeYukiクラスに対応したテンプレートモジュール
30
27
  module InitiativeYukiTemplate
31
- def render_inner(yuki)
28
+ def render_inner(engine)
32
29
  end
33
30
 
34
- def render_to_inner(yuki, dst)
31
+ def render_to_inner(engine, dst)
35
32
  end
36
33
 
37
- def update_animation_inner(yuki)
34
+ def update_animation_inner(engine)
38
35
  end
39
36
 
40
- def update_inner(yuki)
37
+ def update_inner(engine)
41
38
  end
42
39
 
43
- def text_inner(yuki, ch)
40
+ def text_inner(engine, ch)
44
41
  end
45
42
 
46
- def cr_inner(yuki)
43
+ def cr_inner(engine)
47
44
  end
48
45
 
49
- def clear_inner(yuki)
46
+ def clear_inner(engine)
50
47
  end
51
48
 
52
- def input_inner(yuki)
49
+ def input_inner(engine)
53
50
  end
54
51
 
55
- def pausing_inner(yuki)
52
+ def pausing_inner(engine)
56
53
  end
57
54
 
58
- def selecting_inner(yuki)
55
+ def selecting_inner(engine)
59
56
  end
60
57
 
61
- def waiting_inner(yuki)
58
+ def waiting_inner(engine)
62
59
  end
63
60
 
64
61
  def plot
65
62
  end
66
63
  end
67
64
 
65
+ InitiativeScenarioEngineTemplate = InitiativeYukiTemplate
66
+
68
67
  #==主導権を持ったYuki本体クラス
69
68
  #Yukiの内容をオブジェクト化したクラス
70
69
  #Yukiのプロット処理を外部メソッドで管理可能
@@ -227,47 +226,47 @@ module Miyako
227
226
  end
228
227
 
229
228
  def render_inner(yuki)
230
- @base.render_inner(yuki)
229
+ @base.render_inner(yuki) if @base
231
230
  end
232
231
 
233
232
  def render_to_inner(yuki, dst)
234
- @base.render_to_inner(yuki, dst)
233
+ @base.render_to_inner(yuki, dst) if @base
235
234
  end
236
235
 
237
236
  def update_animation_inner(yuki)
238
- @base.update_animation_inner(yuki)
237
+ @base.update_animation_inner(yuki) if @base
239
238
  end
240
239
 
241
240
  def update_inner(yuki)
242
- @base.update_inner(yuki)
241
+ @base.update_inner(yuki) if @base
243
242
  end
244
243
 
245
244
  def text_inner(yuki, ch)
246
- @base.text_inner(yuki, ch)
245
+ @base.text_inner(yuki, ch) if @base
247
246
  end
248
247
 
249
248
  def cr_inner(yuki)
250
- @base.cr_inner(yuki)
249
+ @base.cr_inner(yuki) if @base
251
250
  end
252
251
 
253
252
  def clear_inner(yuki)
254
- @base.clear_inner(yuki)
253
+ @base.clear_inner(yuki) if @base
255
254
  end
256
255
 
257
256
  def input_inner(yuki)
258
- @base.input_inner(yuki)
257
+ @base.input_inner(yuki) if @base
259
258
  end
260
259
 
261
260
  def pausing_inner(yuki)
262
- @base.pausing_inner(yuki)
261
+ @base.pausing_inner(yuki) if @base
263
262
  end
264
263
 
265
264
  def selecting_inner(yuki)
266
- @base.selecting_inner(yuki)
265
+ @base.selecting_inner(yuki) if @base
267
266
  end
268
267
 
269
268
  def waiting_inner(yuki)
270
- @base.waiting_inner(yuki)
269
+ @base.waiting_inner(yuki) if @base
271
270
  end
272
271
 
273
272
  #===マウスでの制御を可能にする
@@ -302,7 +301,6 @@ module Miyako
302
301
  #なお、visibleの値がfalseの時は描画されない。
303
302
  #返却値:: 自分自身を返す
304
303
  def render
305
- @visibles.render
306
304
  render_inner(self)
307
305
  return self
308
306
  end
@@ -312,7 +310,6 @@ module Miyako
312
310
  #なお、visibleの値がfalseの時は描画されない。
313
311
  #返却値:: 自分自身を返す
314
312
  def render_to(dst)
315
- @visibles.render
316
313
  render_to_inner(self, dst)
317
314
  return self
318
315
  end
@@ -334,7 +331,6 @@ module Miyako
334
331
  #返却値:: 描く画像のupdate_spriteメソッドを呼び出した結果を配列で返す
335
332
  def update_animation
336
333
  update_animation_inner(self)
337
- @visibles.update_animation
338
334
  end
339
335
 
340
336
  #===変数を参照する
@@ -785,23 +781,6 @@ module Miyako
785
781
  Screen.render
786
782
  end
787
783
 
788
- #===別のYukiエンジンを実行する
789
- #[[Yukiスクリプトとして利用可能]]
790
- #もう一つのYukiエンジンを実行させ、並行実行させることができる
791
- #ウインドウの上にウインドウを表示したりするときに、このメソッドを使う
792
- #renderメソッドで描画する際は、自分のインスタンスが描画した直後に描画される
793
- #自分自身を実行しようとするとMiyakoValueError例外が発生する
794
- #_yuki_:: 実行対象のYukiインスタンス(事前にsetupの呼び出しが必要)
795
- #_plot_:: プロットインスタンス。すでにsetupなどで登録しているときはnilを渡す
796
- #_params_:: プロット実行開始時に、プロットに渡す引数
797
- #返却値:: 自分自身を返す
798
- def over_exec(yuki, plot, *params)
799
- raise MiyakoValueError, "This Yuki engine is same as self!" if yuki.eql?(self)
800
- @over_yuki = yuki
801
- @over_yuki.start_plot(self, plot, *params)
802
- return self
803
- end
804
-
805
784
  #===シーンのセットアップ時に実行する処理
806
785
  #
807
786
  #ブロック引数として、テキストボックスの変更などの処理をブロック内に記述することが出来る。
@@ -884,7 +863,8 @@ module Miyako
884
863
  def plot_facade(plot_proc = nil, *params, &plot_block) #:nodoc:
885
864
  @plot_result = nil
886
865
  exec_plot = @exec_plot
887
- @plot_result = plot_proc ? self.instance_exec(*params, &plot_proc) :
866
+ @plot_result = @base ? self.instance_exec(*params, &@base.plot) :
867
+ plot_proc ? self.instance_exec(*params, &plot_proc) :
888
868
  block_given? ? self.instance_exec(*params, &plot_block) :
889
869
  exec_plot ? self.instance_exec(*params, &exec_plot) :
890
870
  raise(MiyakoProcError, "Cannot find plot!")
@@ -1456,4 +1436,6 @@ module Miyako
1456
1436
  @is_outer_height = nil
1457
1437
  end
1458
1438
  end
1439
+
1440
+ InitiativeScenarioEngine = InitiativeYuki
1459
1441
  end
@@ -521,7 +521,6 @@ module Miyako
521
521
  #返却値:: スナップ元として登録されていればtrue、登録されていなければfalse
522
522
  def include_snap_child?(spr)
523
523
  @layout.snap.children.include?(spr)
524
- return self
525
524
  end
526
525
 
527
526
  def add_snap_child(spr) #:nodoc:
@@ -20,8 +20,6 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20
20
  ++
21
21
  =end
22
22
 
23
- require 'forwardable'
24
-
25
23
  module Miyako
26
24
  #==マップ定義クラス
27
25
  class Map
@@ -20,9 +20,6 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20
20
  ++
21
21
  =end
22
22
 
23
- require 'csv'
24
- require 'forwardable'
25
-
26
23
  module Miyako
27
24
  #==マップ上のイベント全体を管理するクラス
28
25
  #Map/FixedMapクラス内で使用する
@@ -20,8 +20,6 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20
20
  ++
21
21
  =end
22
22
 
23
- require 'csv'
24
-
25
23
  module Miyako
26
24
  #==マップチップ構造体に配列化メソッド(to_a)を定義するための構造体クラス
27
25
  #インデックス参照メソッドを追加
@@ -21,9 +21,6 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21
21
  =end
22
22
 
23
23
  module Miyako
24
-
25
- require 'delegate'
26
-
27
24
  #==パーツ構成クラス
28
25
  #複数のスプライト・アニメーションをまとめて一つの部品として構成できるクラス
29
26
  #
@@ -219,13 +216,5 @@ module Miyako
219
216
  def move_to!(x, y, &block)
220
217
  @list.move_to!(x, y, &block)
221
218
  end
222
-
223
- def part_move!(dx, dy)
224
- @list.part_move!(dx, dy)
225
- end
226
-
227
- def part_move_to!(x, y)
228
- @list.part_move_to!(x, y)
229
- end
230
219
  end
231
220
  end
@@ -20,8 +20,6 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20
20
  ++
21
21
  =end
22
22
 
23
- require 'singleton'
24
-
25
23
  module Miyako
26
24
 
27
25
  #==画面管理モジュール
@@ -55,7 +53,8 @@ module Miyako
55
53
  @@min_interval_r = @@min_interval / 1000
56
54
  @@t = 0
57
55
  @@freezing = false
58
- @@mode = FULLSCREEN_MODE
56
+ # @@mode = FULLSCREEN_MODE
57
+ @@mode = WINDOW_MODE
59
58
  @@unit = SpriteUnitFactory.create
60
59
  @@pos = Size.new(0,0)
61
60
 
@@ -241,7 +240,7 @@ module Miyako
241
240
  # 生成される線分は、x方向が[0,w-1]、y方向が[0,h-1]となる
242
241
  #返却値:: 生成したSegment構造体インスタンス
243
242
  def Screen::segment
244
- return Segments.create([0, 0, @@size[0]-1, @@size[1]-1])
243
+ return Segments.create([0, 0, @@size[0]-1, @@size[1]-1])
245
244
  end
246
245
 
247
246
  #===画面のサーフェスを生成する
@@ -21,8 +21,8 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21
21
  =end
22
22
 
23
23
  module Miyako
24
- @@modes = [:text, :txt_calc, :takahashi, :tk_calc]
25
-
24
+ @@modes = [:text, :txt_calc, :takahashi, :tk_calc]
25
+
26
26
  #==テキストや図形を描画するクラス
27
27
  #図形は、長方形・丸み付き長方形・円・楕円が描画可能
28
28
  #文字列は、通常の文字列と高橋メソッド形式文字列が描画可能
@@ -36,7 +36,7 @@ module Miyako
36
36
  @edge = parameter[:edge] ||= nil
37
37
  @align = parameter[:align] ||= :left
38
38
  @valign = parameter[:valign] ||= :middle
39
- @lines = parameter[:lines] ||= 2
39
+ @lines = parameter[:lines] ||= 2
40
40
  @vertexes = parameter[:vertexes] ||= []
41
41
  end
42
42
 
@@ -55,8 +55,8 @@ module Miyako
55
55
  end
56
56
 
57
57
  #===テキストを高橋メソッド形式で描画した画像を作成
58
- #指定した大きさの矩形・行数で文字を描画する。
59
- #指定した行数で描画を基準に文字サイズを算出する。
58
+ #指定した大きさの矩形・行数で文字を描画する。
59
+ #指定した行数で描画を基準に文字サイズを算出する。
60
60
  #但し、文字列が長すぎる時は、その文字数を基準に文字サイズを算出する。
61
61
  #ブロックに渡した行数が指定数より多くなると文字列がはみ出るため、注意すること。
62
62
  #_param_:: 設定パラメータ。ハッシュ形式。
@@ -123,13 +123,13 @@ module Miyako
123
123
 
124
124
  def create_text(param, text_block) #:nodoc:
125
125
  init_parameter(param)
126
- text_block = lambda{ @text } if @text
126
+ text_block = Proc.new{ @text } if @text
127
127
  org_size = @font.size
128
128
  org_color = @font.color
129
129
  @margins = []
130
130
  @heights = []
131
131
  area_size = calc(text_block)
132
- @sprite = Sprite.new({size: area_size, type: :ac})
132
+ @sprite = Sprite.new(:size => area_size, :type => :ac)
133
133
  Drawing.fill(@sprite, [0, 0, 0])
134
134
  Bitmap.ck_to_ac!(@sprite, [0, 0, 0])
135
135
  case @align
@@ -140,7 +140,7 @@ module Miyako
140
140
  when :right
141
141
  @margins = @margins.map{|v| area_size.w - v }
142
142
  end
143
- @lines = @margins.length
143
+ @lines = @margins.length
144
144
  vmargin = 0
145
145
  case @valign
146
146
  when :top
@@ -162,9 +162,9 @@ module Miyako
162
162
  org_size = @font.size
163
163
  org_color = @font.color
164
164
  olines = @lines
165
- # calc font size
165
+ # calc font size
166
166
  @font.size = @size[1] / @lines
167
- # calc font size incldue line_height
167
+ # calc font size incldue line_height
168
168
  @font.size = @font.size * @font.size / @font.line_height
169
169
  set_font_size_inner(text_block)
170
170
  # over lines?
@@ -195,7 +195,7 @@ module Miyako
195
195
  when :bottom
196
196
  vmargin = @size[1] - @heights.inject(:+)
197
197
  end
198
- @sprite = Sprite.new({size: @size, type: :ac})
198
+ @sprite = Sprite.new(:size => @size, :type => :ac)
199
199
  Drawing.fill(@sprite, [0, 0, 0])
200
200
  Bitmap.ck_to_ac!(@sprite, [0, 0, 0])
201
201
  @locate = Point.new(@margins.shift, vmargin)
@@ -204,7 +204,7 @@ module Miyako
204
204
  @font.color = org_color
205
205
  return @sprite
206
206
  end
207
-
207
+
208
208
  def set_font_size_inner(text_block) #:nodoc:
209
209
  @max_height = @font.line_height
210
210
  @margins = []
@@ -242,7 +242,7 @@ module Miyako
242
242
  end
243
243
  @img_size.w = [@locate.x, @img_size.w].max
244
244
  end
245
-
245
+
246
246
  #===Shape.textメソッドのブロック内で使用する、文字描画指示メソッド
247
247
  #(例)Shape.text(){ text "abc" }
248
248
  #(例)Shape.takahashi(:size=>[200,200]){ text "名前重要" }
@@ -255,7 +255,7 @@ module Miyako
255
255
  @locate.x += @font.text_size(txt)[0]
256
256
  return self
257
257
  end
258
-
258
+
259
259
  #===Shape.text/takahashiメソッドのブロック内で使用する、文字色指示メソッド
260
260
  #ブロック内で指定した範囲でのみ色が変更される
261
261
  #(例)Shape.text(){ text "abc"; cr; color(:red){"def"} }
@@ -278,7 +278,7 @@ module Miyako
278
278
  }
279
279
  return self
280
280
  end
281
-
281
+
282
282
  def size_inner(margin, &block) #:nodoc:
283
283
  @locate.y += margin
284
284
  text instance_eval(&block)
@@ -294,7 +294,7 @@ module Miyako
294
294
  @font.bold{ text instance_eval(&block) }
295
295
  return self
296
296
  end
297
-
297
+
298
298
  #===Shape.textメソッドのブロック内で使用する、斜体指示メソッド
299
299
  #ブロック内で指定した範囲でのみ斜体文字になる
300
300
  #(使用すると文字の端が切れてしまう場合あり!)
@@ -304,7 +304,7 @@ module Miyako
304
304
  @font.italic{ text instance_eval(&block) }
305
305
  return self
306
306
  end
307
-
307
+
308
308
  #===Shape.textメソッドのブロック内で使用する、下線指示メソッド
309
309
  #ブロック内で指定した範囲でのみ文字に下線が付く
310
310
  #(例)Shape.text(){ text "abc"; cr; bold{"def"} }
@@ -331,10 +331,10 @@ module Miyako
331
331
  @locate.y += @max_height
332
332
  return self
333
333
  end
334
-
334
+
335
335
  def box(param) #:nodoc:
336
336
  init_parameter(param)
337
- s = Sprite.new(size: [w, h], type: :alpha_channel)
337
+ s = Sprite.new(:size => [w, h], :type => :alpha_channel)
338
338
  w = @size[0]
339
339
  h = @size[1]
340
340
  Drawing.fill(s, [0, 0, 0])
@@ -363,7 +363,7 @@ module Miyako
363
363
  init_parameter(param)
364
364
  w = @size[0]
365
365
  h = @size[1]
366
- s = Sprite.new(size: @size, type: :ac)
366
+ s = Sprite.new(:size => @size, :type => :ac)
367
367
  Drawing.fill(s, [0, 0, 0])
368
368
  Bitmap.ck_to_ac!(s, [0, 0, 0])
369
369
  if @edge
@@ -377,7 +377,7 @@ module Miyako
377
377
 
378
378
  def circle(param) #:nodoc:
379
379
  init_parameter(param)
380
- s = Sprite.new(size: [@ray*2+1, @ray*2+1], type: :alpha_channel)
380
+ s = Sprite.new(:size => [@ray*2+1, @ray*2+1], :type => :alpha_channel)
381
381
  Drawing.fill(s, [0, 0, 0])
382
382
  Bitmap.ck_to_ac!(s, [0, 0, 0])
383
383
  if @edge
@@ -396,7 +396,7 @@ module Miyako
396
396
  w2 = w * 2 + 1
397
397
  h = @size[1]
398
398
  h2 = h * 2 + 1
399
- s = Sprite.new(size: [w2, h2], type: :alpha_channel)
399
+ s = Sprite.new(:size => [w2, h2], :type => :alpha_channel)
400
400
  Drawing.fill(s, [0, 0, 0])
401
401
  Bitmap.ck_to_ac!(s, [0, 0, 0])
402
402
  if @edge
@@ -410,16 +410,16 @@ module Miyako
410
410
 
411
411
  def polygon(param) #:nodoc:
412
412
  init_parameter(param)
413
-
413
+
414
414
  min_x, max_x = @vertexes.map{|v| v[0]}.minmax
415
415
  min_y, max_y = @vertexes.map{|v| v[1]}.minmax
416
-
416
+
417
417
  w = max_x - min_x
418
418
  h = max_y - min_y
419
-
419
+
420
420
  @vertexes = @vertexes.map{|v| [v[0]-min_x, v[1]-min_y]}
421
-
422
- s = Sprite.new(size: [w, h], type: :alpha_channel)
421
+
422
+ s = Sprite.new(:size => [w, h], :type => :alpha_channel)
423
423
  Drawing.fill(s, [0, 0, 0])
424
424
  Bitmap.ck_to_ac!(s, [0, 0, 0])
425
425
  Drawing.polygon(s, @vertexes, Color.to_rgb(@color), true)
@@ -20,8 +20,6 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20
20
  ++
21
21
  =end
22
22
 
23
- require 'Forwardable'
24
-
25
23
  # スプライト関連クラス群
26
24
  module Miyako
27
25
  #==スプライト管理クラス
@@ -21,8 +21,6 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21
21
  ++
22
22
  =end
23
23
 
24
- require 'singleton'
25
-
26
24
  module Miyako
27
25
  #==シーン実行クラス
28
26
  #用意したシーンインスタンスを実行
@@ -30,7 +30,7 @@ module Miyako
30
30
  extend Forwardable
31
31
 
32
32
  attr_accessor :textarea, :visible
33
- attr_accessor :select_type, :waiting, :selecting
33
+ attr_accessor :waiting, :selecting
34
34
  attr_accessor :font, :margin
35
35
  attr_reader :wait_cursor, :select_cursor, :choices
36
36
  attr_reader :locate, :size, :max_height
@@ -89,7 +89,6 @@ module Miyako
89
89
  @pre_attach = false
90
90
 
91
91
  @waiting = false
92
- @select_type = :left
93
92
  @selecting = false
94
93
 
95
94
  @textarea.snap(self)
@@ -98,10 +97,10 @@ module Miyako
98
97
  @fiber = nil
99
98
 
100
99
  if @wait_cursor
101
- @wait_cursor.snap(self)
102
- @default_wait_cursor_position.call(@wait_cursor, self)
103
- end
104
- @select_cursor.snap(self) if @select_cursor
100
+ @wait_cursor.snap(self)
101
+ @default_wait_cursor_position.call(@wait_cursor, self)
102
+ end
103
+ @select_cursor.snap(self) if @select_cursor
105
104
 
106
105
  @move_list = [
107
106
  [lambda{ },
@@ -148,7 +147,6 @@ module Miyako
148
147
  @choices.left!.top!
149
148
 
150
149
  @waiting = false
151
- @select_type = :left
152
150
  @selecting = false
153
151
 
154
152
  @textarea = @textarea.dup
@@ -156,10 +154,10 @@ module Miyako
156
154
  @textarea.centering!
157
155
 
158
156
  if @wait_cursor
159
- @wait_cursor.snap(self)
160
- @default_wait_cursor_position.call(@wait_cursor, self)
161
- end
162
- @select_cursor.snap(self) if @select_cursor
157
+ @wait_cursor.snap(self)
158
+ @default_wait_cursor_position.call(@wait_cursor, self)
159
+ end
160
+ @select_cursor.snap(self) if @select_cursor
163
161
 
164
162
  @move_list = @move_list.dup
165
163
  end
@@ -163,7 +163,7 @@ module Miyako
163
163
  y_array = ((y1 / size[1])..(y2 / size[1])).to_a.map{|e| e * size[1]}
164
164
  return x_array.product(y_array)
165
165
  end
166
-
166
+
167
167
  #===指定の矩形が格子状のどこに重なっているかを返す
168
168
  # position(Point([x,y])形式)を基準として、矩形rect(Rect([x,y,w,h])形式)が、格子状の並べた矩形
169
169
  # (基準を[0,0]とした、大きさ[size,size]の矩形をタイル状に並べた物)にある場合、
@@ -201,7 +201,7 @@ module Miyako
201
201
  y_array = [min] + get_step_array_f(min, y2.to_f, sz, skip_even)
202
202
  return x_array.uniq.product(y_array.uniq)
203
203
  end
204
-
204
+
205
205
  #===指定の矩形が格子状のどこに重なっているかを返す(実数で指定)
206
206
  #position(Point([x,y])形式)を基準として、矩形rect(Rect([x,y,w,h])形式)が、格子状の並べた矩形
207
207
  #(基準を[0.0,0.0]とした、大きさ[size,size]の矩形をタイル状に並べた物)にある場合、