2010-08-28 5 views
1

Je tente de faire un moteur de jeu homebrew simple/cadre dans Android. J'ai le "moteur" comme un projet de bibliothèque qui gère tout le rendu graphique, l'activité de jeu, et autres joyeusetés. Essentiellement, le projet de la bibliothèque a une classe GameMain qui a une image d'arrière-plan, un tableau de drawables, et quelques fonctions (la plus importante est une fonction run()). Les projets qui utilisent cette bibliothèque étendent cette classe avec leur propre fonction run() unique. L'idée est que les jeux qui utilisent le moteur démarrent avec leur propre activité, lancent GameActivity à partir de la bibliothèque et transmettent leur objet enfant GameMain unique dans la bibliothèque, qui devrait exécuter la méthode unique run() grâce au polymorphisme.Envoyer un objet à une classe de bibliothèque dans Android

Pour que cela fonctionne, cependant, a été un combat. J'ai d'abord essayé de rendre le GameMain Serializable, qui ne semblait pas fonctionner. J'essaie maintenant de le rendre un Parcelable, mais il ne semble pas exécuter la fonction run() des objets enfants lorsqu'il est appelé depuis la bibliothèque. Je me demande, les objets Parcelable sont-ils réellement capables d'envoyer des méthodes Object à travers les activités? Est-ce que je vais dans le mauvais sens, ou est-ce que j'ai juste un autre bug bizarre que je n'ai pas découvert? Pourquoi ne pas laisser les utilisateurs étendre GameActivity pour réussir leur jeu?

Répondre

1

+0

Alors que j'étais capable de résoudre mon problème avec Parcelable, j'ai jeté un coup d'œil sur votre suggestion. Pour une raison quelconque, je voulais essayer de séparer toute l'activité dans le moteur. Le changement de cette approche m'a permis d'éviter de traîner avec Parcelable et d'améliorer l'architecture générale, merci pour la suggestion! – user408424

Questions connexes