独学ツクールブログ

ツクールでのオリジナル作品の話を中心に創作関係の徒然な語り。

<< 女子高バトル1 | main | RGSS奮闘記48:プリセットを読み解く2(Mainその2) >>

[ - ] スポンサーサイト

一定期間更新がないため広告を表示しています

| 2018.05.23 Wednesday | - | - |

[ RGSS奮闘記 ] RGSS奮闘記47:プリセットを読み解く1(Mainその1)

なんと序文から約2か月を空けての更新である。
器用貧乏の「器用」の部分だけで満足できる神代ですこんばんは。

ということでRGSSを読み解くの巻。
まずは一番行数の少ないMainから。
べっ、別に短いから最初に見るわけじゃないんだからねっ!
Mainの内容は以下の通り(コメントは省いて掲載)。

begin
  Graphics.freeze
  $scene = Scene_Title.new
  while $scene != nil
    $scene.main
  end
  Graphics.transition(20)
rescue Errno::ENOENT
  filename = $!.message.sub("No such file or directory - ", "")
  print("ファイル #{filename} が見つかりません。")
end

「各クラスの定義が終わった後、ここから実際の処理が始まります。」とコメントがある通り、Main以前の記述は全てがただの定義であり処理はこのMainから呼ばれている。
このセクションを構成しているのはbegin 〜 resucue 〜 endという制御構造。すなわちbeginとendの間のスクリプトを実行する。これがツクールXPの正体である。

ただしbeginは「ここからスタート」の意ではない。
begin 〜 (rescue 〜 )(ensure 〜 )endは「例外処理」だ。
begin 〜 end 間に「例外を発生する可能性のある処理」を記述し、例外が発生したらrescueで拾って処理するという構造である。
言い直すならば、実際にスクリプトが「実行」されているのはこの区間だけということである。これより手前のセクションで定義されたスクリプトをこの例外処理の中で動作させているということだ。
発生した例外は特殊変数の「$!」で参照可能(後日これを用いた小技を公開予定)。
ちなみに、RGSSでは使用されていないがensureはbegin 〜 end間の処理が終了する際に必ず行う処理を記述する。


次回はMainの各行の記述について一つずつ解読していく。
タグ:[Ruby] [RGSS] [プリセットを読み解く] [Main]

| 2011.04.05 Tuesday 21:24 | comments(0) | trackbacks(0) |

[ - ] スポンサーサイト

| 2018.05.23 Wednesday 21:24 | - | - |

コメント

コメントする






この記事のトラックバックURL

トラックバック

このページの先頭へ▲

Twitter

WebClap

Blogram

ブログランキングならblogram

calendar

S M T W T F S
  12345
6789101112
13141516171819
20212223242526
2728293031  
<< October 2019 >>

categories

archives

Amazon

selected entries

recent comment

recent trackback

recent ranking

links

search this site.

sponsored links

others

mobile

qrcode

powered

無料ブログ作成サービス JUGEM