サイログ。

~雑多な記事置き場~

Miyako2.0計画

そろそろ考えがまとまってきたので書いておきます。

最近、どうしても気になる問題がありまして。

Partsクラスのインスタンスを表示させるとき、Parts単位で表示されず、そのなかのスプライト単位で表示される問題がありました。
内部では、スプライトを一元管理していましたので、それがPartsの一部、という認識ができませんでした。

自動表示は周りであまり評判が良くなく、この際なので、Miyakoの特徴の一つだったdpメソッドを廃止して、
renderメソッドを完全導入(つまり、表示の指示をプログラマに任せる)することで解決を図ることにしました。
但し、renderメソッドで直接描画、というわけではなく、Screen.update/renderを呼び出すことで描画するという機能は残します。

これにより、描画プロセスがシンプルになるというメリットが生まれます
(描画パラメータの決定・・・renderメソッド呼び出し/実際の描画・・・Screen.update/renderメソッドの呼び出し)

そうなると、バージョン番号も、1.x系では混乱を招くので、2.0へメジャーバージョンアップすることにしました。

以下、修正の一覧。

・dp/dp=、visible/visible=、show/hideメソッドの廃止(すべて実装者に任せる)
・renderメソッド実装の徹底(一部クラスには存在していたものを、出来る限りすべてのクラスに実装)
・Drawingクラスの実装(図形描画を行うクラスを用いることで、描画のタイミング判断を容易にさせる)
・MixinによるYukiモジュールを廃止(Yuki::Yuki2クラス→Miyako::Yukiクラスに変更)
・Partsクラス内main_partsの廃止
・2.0からは、gitを使ったバージョン管理に変更する(そうなると、RubyGemsでのインストールも可能になるため)

バージョン間互換性をほとんど無視しています。申し訳ない。

とりあえず、こんな感じです。