ruby-miyako-mswin32 2.1.4 → 2.1.6

Sign up to get free protection for your applications and to get access to all the features.
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.6
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,74 @@ 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
+
1519
+ v2.1.6(2010.01.01)
1520
+ <バグ修正>
1521
+ ・InitiativeScenarioEngine#pre_process,post_processで一部機能の更新をしていなかったバグを修正
1522
+ ・InitiativeScenarioEngine#update_animationで一部機能の更新をしていなかったバグを修正
1523
+ ・InitiativeScenarioEngine#over_execの復活(処理の見直し)
1524
+ ・InitiativeScenarioEngine#over_execの復活(処理の見直し)
1525
+ <機能改善>
1526
+ <仕様変更>
1527
+ <ファイル追加>
1528
+ <ファイル削除>
1529
+ <グローバル変数追加>
1530
+ <定数追加>
1531
+ <定数削除>
1532
+ <構造体追加>
1533
+ <クラス追加>
1534
+ <モジュール追加>
1535
+ <mixin>
1536
+ <クラス・モジュールメソッド追加>
1537
+ <クラス・モジュールメソッド廃止>
1538
+ <モジュール関数追加>
1539
+ <モジュール関数廃止>
1540
+ ・InitiativeYukiTemplate#plot
1541
+ <インスタンスメソッド追加>
1542
+ ・InitiativeScenarioEngine#over_exec
1543
+ ・InitiativeScenarioEngine#over_engine
1544
+ ・InitiativeScenarioEngine#render_all
1545
+ ・InitiativeScenarioEngine#render_to_all
1546
+ ・InitiativeScenarioEngine#update_animation_all
1547
+ <インスタンスメソッド廃止>
1548
+
1482
1549
  *******************************************************************************
1483
1550
  この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,47 @@ 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)
32
- end
33
-
34
- def render_to_inner(yuki, dst)
28
+ def render_inner(engine)
35
29
  end
36
30
 
37
- def update_animation_inner(yuki)
31
+ def render_to_inner(engine, dst)
38
32
  end
39
33
 
40
- def update_inner(yuki)
34
+ def update_animation_inner(engine)
41
35
  end
42
36
 
43
- def text_inner(yuki, ch)
37
+ def update_inner(engine)
44
38
  end
45
39
 
46
- def cr_inner(yuki)
40
+ def text_inner(engine, ch)
47
41
  end
48
42
 
49
- def clear_inner(yuki)
43
+ def cr_inner(engine)
50
44
  end
51
45
 
52
- def input_inner(yuki)
46
+ def clear_inner(engine)
53
47
  end
54
48
 
55
- def pausing_inner(yuki)
49
+ def input_inner(engine)
56
50
  end
57
51
 
58
- def selecting_inner(yuki)
52
+ def pausing_inner(engine)
59
53
  end
60
54
 
61
- def waiting_inner(yuki)
55
+ def selecting_inner(engine)
62
56
  end
63
57
 
64
- def plot
58
+ def waiting_inner(engine)
65
59
  end
66
60
  end
67
61
 
62
+ InitiativeScenarioEngineTemplate = InitiativeYukiTemplate
63
+
68
64
  #==主導権を持ったYuki本体クラス
69
65
  #Yukiの内容をオブジェクト化したクラス
70
66
  #Yukiのプロット処理を外部メソッドで管理可能
@@ -155,6 +151,7 @@ module Miyako
155
151
  #_params_:: ブロックに渡す引数リスト(ただし、ブロックを渡しているときのみに有効)
156
152
  def initialize(*params, &proc)
157
153
  @base = nil
154
+ @over_yuki = nil
158
155
  @yuki = { }
159
156
  @text_box = nil
160
157
  @command_box = nil
@@ -226,50 +223,6 @@ module Miyako
226
223
  raise MiyakoCopyError.not_copy("Yuki")
227
224
  end
228
225
 
229
- def render_inner(yuki)
230
- @base.render_inner(yuki)
231
- end
232
-
233
- def render_to_inner(yuki, dst)
234
- @base.render_to_inner(yuki, dst)
235
- end
236
-
237
- def update_animation_inner(yuki)
238
- @base.update_animation_inner(yuki)
239
- end
240
-
241
- def update_inner(yuki)
242
- @base.update_inner(yuki)
243
- end
244
-
245
- def text_inner(yuki, ch)
246
- @base.text_inner(yuki, ch)
247
- end
248
-
249
- def cr_inner(yuki)
250
- @base.cr_inner(yuki)
251
- end
252
-
253
- def clear_inner(yuki)
254
- @base.clear_inner(yuki)
255
- end
256
-
257
- def input_inner(yuki)
258
- @base.input_inner(yuki)
259
- end
260
-
261
- def pausing_inner(yuki)
262
- @base.pausing_inner(yuki)
263
- end
264
-
265
- def selecting_inner(yuki)
266
- @base.selecting_inner(yuki)
267
- end
268
-
269
- def waiting_inner(yuki)
270
- @base.waiting_inner(yuki)
271
- end
272
-
273
226
  #===マウスでの制御を可能にする
274
227
  #ゲームパッド・キーボードでのコマンド・ポーズ制御を行えるが、
275
228
  #それに加えて、マウスでもゲームパッド・キーボードでの制御が行える
@@ -297,23 +250,37 @@ module Miyako
297
250
  @mouse_enable
298
251
  end
299
252
 
253
+ def render_all
254
+ self.bgs.render
255
+ self.visibles.render
256
+ self.textbox_all.render
257
+ self.commandbox_all.render unless yuki.box_shared?
258
+ self.pre_visibles.render
259
+ end
260
+
300
261
  #===Yuki#showで表示指定した画像を描画する
301
262
  #描画順は、showメソッドで指定した順に描画される(先に指定した画像は後ろに表示される)
302
263
  #なお、visibleの値がfalseの時は描画されない。
303
264
  #返却値:: 自分自身を返す
304
265
  def render
305
- @visibles.render
306
- render_inner(self)
266
+ return @base.render_inner(self) if @base
307
267
  return self
308
268
  end
309
269
 
270
+ def render_to_all(dst)
271
+ self.bgs.render_to(dst)
272
+ self.visibles.render_to(dst)
273
+ self.textbox_all.render_to(dst)
274
+ self.commandbox_all.render_to(dst) unless yuki.box_shared?
275
+ self.pre_visibles.render_to(dst)
276
+ end
277
+
310
278
  #===Yuki#showで表示指定した画像を描画する
311
279
  #描画順は、showメソッドで指定した順に描画される(先に指定した画像は後ろに表示される)
312
280
  #なお、visibleの値がfalseの時は描画されない。
313
281
  #返却値:: 自分自身を返す
314
282
  def render_to(dst)
315
- @visibles.render
316
- render_to_inner(self, dst)
283
+ return @base.render_to_inner(self, dst) if @base
317
284
  return self
318
285
  end
319
286
 
@@ -321,7 +288,7 @@ module Miyako
321
288
  #ポーズ中、コマンド選択中、 Yuki#wait メソッドによるウェイトの状態確認を行う。
322
289
  #プロット処理の実行確認は出来ない
323
290
  def update
324
- update_inner(self)
291
+ @base.update_inner(self) if @base
325
292
  @pause_release = false
326
293
  @select_ok = false
327
294
  @select_cancel = false
@@ -329,12 +296,20 @@ module Miyako
329
296
  return nil
330
297
  end
331
298
 
299
+ def update_animation_all
300
+ self.bgs.update_animation
301
+ self.visibles.update_animation
302
+ self.textbox_all.update_animation
303
+ self.commandbox_all.update_animation unless self.box_shared?
304
+ self.pre_visibles.update_animation
305
+ end
306
+
332
307
  #===Yuki#showで表示指定した画像のアニメーションを更新する
333
308
  #showメソッドで指定した画像のupdate_animationメソッドを呼び出す
334
309
  #返却値:: 描く画像のupdate_spriteメソッドを呼び出した結果を配列で返す
335
310
  def update_animation
336
- update_animation_inner(self)
337
- @visibles.update_animation
311
+ return @base.update_animation_inner(self) if @base
312
+ return false
338
313
  end
339
314
 
340
315
  #===変数を参照する
@@ -757,11 +732,9 @@ module Miyako
757
732
  #nameで指定した遷移図の処理が終了するまで、プロットを停止する
758
733
  #_name_: 遷移図名(シンボル)
759
734
  #返却値:: 自分自身を返す
760
- def wait_by_finish(name)
735
+ def wait_by_finish(name, is_clear = true)
761
736
  until @parts[name].finish?
762
- pre_process
763
- @update_inner.call(self)
764
- post_process
737
+ process(is_clear)
765
738
  end
766
739
  return self
767
740
  end
@@ -774,6 +747,7 @@ module Miyako
774
747
  def pre_process(is_clear = true)
775
748
  Audio.update
776
749
  Input.update
750
+ WaitCounter.update
777
751
  self.update_input
778
752
  self.update
779
753
  self.update_animation
@@ -782,26 +756,11 @@ module Miyako
782
756
 
783
757
  def post_process
784
758
  self.render
759
+ WaitCounter.post_update
760
+ Animation.update
785
761
  Screen.render
786
762
  end
787
763
 
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
764
  #===シーンのセットアップ時に実行する処理
806
765
  #
807
766
  #ブロック引数として、テキストボックスの変更などの処理をブロック内に記述することが出来る。
@@ -848,7 +807,7 @@ module Miyako
848
807
  #
849
808
  #3)select_plotメソッドで登録したブロック(Procクラスのインスタンス)
850
809
  #
851
- #_base_:: プロットの実行部をインスタンス化したオブジェクト。省略時はnil(paramsを指定するときは必ず設定すること)
810
+ #_base_:: プロット
852
811
  #_plot_proc_:: プロットの実行部をインスタンス化したオブジェクト。省略時はnil(paramsを指定するときは必ず設定すること)
853
812
  #_params_:: プロットに引き渡す引数リスト
854
813
  #返却値:: 自分自身を返す
@@ -862,6 +821,27 @@ module Miyako
862
821
  return self
863
822
  end
864
823
 
824
+ def over_engine
825
+ @over_yuki
826
+ end
827
+
828
+ #===別のYukiエンジンを実行する
829
+ #[[Yukiスクリプトとして利用可能]]
830
+ #もう一つのYukiエンジンを実行させ、並行実行させることができる
831
+ #ウインドウの上にウインドウを表示したりするときに、このメソッドを使う
832
+ #renderメソッドで描画する際は、自分のインスタンスが描画した直後に描画される
833
+ #自分自身を実行しようとするとMiyakoValueError例外が発生する
834
+ #_yuki_:: 実行対象のYukiインスタンス(事前にsetupの呼び出しが必要)
835
+ #_plot_:: プロットインスタンス。すでにsetupなどで登録しているときはnilを渡す
836
+ #_params_:: プロット実行開始時に、プロットに渡す引数
837
+ #返却値:: 自分自身を返す
838
+ def over_exec(yuki, base, plot, *params)
839
+ raise MiyakoValueError, "This Yuki engine is same as self!" if yuki.eql?(self)
840
+ @over_yuki = yuki
841
+ @over_yuki.start_plot(base, plot, *params)
842
+ return self
843
+ end
844
+
865
845
  #===プロット用ブロックをYukiへ渡すためのインスタンスを作成する
866
846
  #プロット用に用意したブロック(ブロック引数無し)を、Yukiでの選択結果や移動先として利用できる
867
847
  #インスタンスに変換する
@@ -877,7 +857,7 @@ module Miyako
877
857
  #プロット処理の場合は、メインスレッドから明示的に呼び出す必要がある
878
858
  #返却値:: nil を返す
879
859
  def update_input
880
- input_inner(self)
860
+ @base.input_inner(self) if @base
881
861
  return nil
882
862
  end
883
863
 
@@ -1121,7 +1101,7 @@ module Miyako
1121
1101
  next nil
1122
1102
  end
1123
1103
  @text_box.draw_text(ch)
1124
- text_inner(self, ch)
1104
+ @base.text_inner(self, ch) if @base
1125
1105
  post_process
1126
1106
  }
1127
1107
  return self
@@ -1156,7 +1136,7 @@ module Miyako
1156
1136
  end
1157
1137
  @text_box.draw_text(tmp)
1158
1138
  self.cr if use_cr
1159
- text_inner(self, tmp)
1139
+ @base.text_inner(self, tmp) if @base
1160
1140
  use_cr = false
1161
1141
  post_process
1162
1142
  end
@@ -1244,7 +1224,7 @@ module Miyako
1244
1224
  def cr(tm = 1)
1245
1225
  tm.times{|n|
1246
1226
  @text_box.cr
1247
- cr_inner(self)
1227
+ @base.cr_inner(self) if @base
1248
1228
  }
1249
1229
  return self
1250
1230
  end
@@ -1255,7 +1235,7 @@ module Miyako
1255
1235
  #返却値:: 自分自身を返す
1256
1236
  def clear
1257
1237
  @text_box.clear
1258
- clear_inner(self)
1238
+ @base.clear_inner(self) if @base
1259
1239
  return self
1260
1240
  end
1261
1241
 
@@ -1276,7 +1256,7 @@ module Miyako
1276
1256
  pause_release = false
1277
1257
  until pause_release
1278
1258
  pre_process
1279
- pausing_inner(self)
1259
+ @base.pausing_inner(self) if @base
1280
1260
  pause_release = @release_checks.inject(false){|r, c| r |= c.call }
1281
1261
  post_process
1282
1262
  end
@@ -1330,7 +1310,7 @@ module Miyako
1330
1310
  reset_selecting
1331
1311
  while selecting
1332
1312
  pre_process
1333
- selecting_inner(self)
1313
+ @base.selecting_inner(self) if @base
1334
1314
  @select_ok = true if @ok_checks.inject(false){|r, c| r |= c.call }
1335
1315
  @select_cancel = true if @cancel_checks.inject(false){|r, c| r |= c.call }
1336
1316
  @select_amount = @key_amount_proc.call
@@ -1400,7 +1380,7 @@ module Miyako
1400
1380
  waiting = true
1401
1381
  while waiting
1402
1382
  pre_process
1403
- waiting_inner(self)
1383
+ @base.waiting_inner(self) if @base
1404
1384
  waiting = @waiting_timer.waiting?
1405
1385
  post_process
1406
1386
  end
@@ -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
  #===画面のサーフェスを生成する