Miyako2.1.9をリリースしました
おまっとさんでした、Miyako2.1.9をリリースしました。
ダウンロードは↓から。
http://rubyforge.org/projects/ruby-miyako/
変更点は1つ。「シーン間のオブジェクト引き継ぎ」の追加です。
たとえば、2.1.8以前のシーン管理(Story+Scene/SimpleStory+Scene)では、シーンを移動するときに、特定のデータを引き継がせるときは、共通のクラス+クラスメソッドを用いることになります。しかし、これではコードが冗長になってしまう。
そこで、2.1.9では、返却値を複数指定することで、オブジェクトを引き継げるようにしました。たとえば…。
# シーン1 class Scene1 include Story::Scene def update : # (1):従来のシーン移動 return Scene2 : # (2):Scene2に"hoge"を渡す return Scene2, "hoge" : # (3):Scene2に"hoge"と"huga"を渡す return Scene2, ["hoge", "huga"] : # (4):Scene2に"hoge"のみ渡る return Scene2, "hoge", "huga" : # (5):(2)と同じ結果 self.hand_over = "hoge" return Scene2 : # (6)両方指定したときはreturn時の引数が優先 self.hand_over = "hoge" return Scene2, "huga" end end class Scene2 include Story::Scene # initメソッド内では引き継ぎはできていない # setup以降で取得可能 def setup # Scene#.hand_overメソッドで引き継がれた値を参照 # (1) ... "nil" # (2) ... "hoge" # (3) ... ["hoge", "huga"] # (4) ... "hoge" # (5) ... "hoge" # (6) ... "huga" p self.hand_over end end
これで、シーン移動時のデータ引き渡しは非常にラクになります。
是非ご活用ください。
他に、日記で指摘されたAudio::SEクラスの記述ミスを修正いたしました。
Mac版でのフォント問題は…どうしようか…。