
- 作者: いたのくまんぼう,大槻有一郎
- 出版社/メーカー: エムディエヌコーポレーション
- 発売日: 2017/08/16
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
序文
サイドビューアクション5日目。
ひきもりぎみ。
進捗
- Chapter05 サイドビューアクションをつくろう
- 5-3 画面の境界とゴールを作成しよう
クラス図
GitHub
実行結果
感想
www.slideshare.net
ゲーム内容的には進んでいない。
スライド48ページ前後の内容を参考に、プレイヤーが触れたときにイベントを引き起こすクラスに適用するIHitEventHandlerというインターフェースを作成。
(以下、自分の思考の整理のためにつらつら書いてますが、第三者的にはひどくわかりにくい文章だと思います…ごめんなさい。)
(クラス図はごちゃごちゃしすぎて読み取れないが)これによってPlayerHitSensorクラスからはIHitEventHandlerインターフェースにだけアクセスすればよくなり、直接GameOverHandlerクラスやGameClearHandlerクラスにアクセスしなくてよいようになった。
この改善によって、プレイヤーが触れたオブジェクトと実際の処理(GameOverを表示する、GameClearを表示するなど。)の結合が弱くなったので、たとえば動画のように穴に落ちたときにGameClearの処理をするといった実装が簡単にできるようになった。
そしてさらに重要なことはPlayerHitSensorクラスがIHitEventHandlerインターフェースにだけアクセスすればよくなったことで、PlayerHitSensorクラス自体を書き換える必要がなくなり、実際の処理はIHitEventHandlerインターフェースを実装しているクラスに丸投げできるようになったことだろう。
今後、ぶつかってはいけない敵キャラクターを実装するときにもPlayerHitSensorクラスを書き換えることなくゲームオーバーの実装ができそうだ。(実際はGameOverHandlerクラスをアタッチするだけですむかもしれないが)
なるほど、これが拡張に対して開いている。修正に対して閉じているということか。
完全に理解した。
カロリーメイトください。