Android でシンプルな自作ゲーム エンジン/フレームワークを作成しようとしています。私は、すべてのグラフィック レンダリング、ゲーム アクティビティなどを処理するライブラリ プロジェクトとして「エンジン」を持っています。基本的に、ライブラリ プロジェクトには、背景画像、ドローアブルの配列、およびいくつかの関数 (最も重要なのは run() 関数) を持つクラス GameMain があります。このライブラリを使用するプロジェクトは、このクラスを独自の run() 関数で拡張します。エンジンを使用するゲームは独自のアクティビティで開始し、ライブラリから GameActivity を起動し、固有の GameMain 子オブジェクトをライブラリに渡します。ライブラリは、ポリモーフィズムのおかげで固有の run() メソッドを実行する必要があります。
ただし、これを機能させるには苦労しました。私は当初、GameMain をシリアライズ可能にしようとしましたが、うまくいかないようでした。現在、Parcelable にしようとしていますが、ライブラリから呼び出されたときに子オブジェクトの run() 関数を実行しているようには見えません。Parcelable オブジェクトは実際にアクティビティ間で Object メソッドを送信できるのでしょうか? 私はこれを間違った方法で行っていますか、それとも私が発見していない他の奇妙なバグを抱えているだけですか?