J'ai commencé à programmer un jeu pour l'iphone et comme tous les débutants j'ai l'impression de photographier dans l'obscurité. Je veux juste lancer mon design et comment fonctionne mon "moteur graphique" pour voir s'il est proche du design standard ou de la bonne pratique. Permettez-moi de vous expliquer comment cela fonctionne:Iphone Game Develoment - Besoin de conseils de conception
Pour des raisons de simplification permet simplement dire que j'ai les 3 catégories suivantes:
LevelView: hérite de UIViewController et est une vue avec 10 boutons pour chaque niveau du jeu. Cliquer sur un bouton crée un nouvel objet GameViewController (en utilisant initWithLevel) et l'instancie avec un entier (1-10) selon le niveau choisi par le joueur.
GameViewController: hérite de UIViewController et possède la méthode initWithLevel (int) et une grosse instruction switch qui effectue la configuration de niveau en fonction de l'int qui a été passé. Il instancie donc deux types d'objets (robots et planètes) en différents nombres selon chaque niveau. Chaque objet créé est inséré dans un tableau appartenant à un singleton. Puis à la fin, il va commencer le gameloop qui est une autre méthode dans cette classe.
GameView: hérite de UIView et est l'endroit où tout est dessiné (a une méthode drawRect) et où sont les méthodes touchées, déplacées et terminées. Qu'est-ce qui se passera pour chaque gameLoop est que cela va tirer tous les objets du tableau global (le tableau dans le singleton) et selon quel objet il va dessiner l'image correcte à l'emplacement correct. (l'emplacement des robots et des planètes est stocké dans leurs objets respectifs sous forme de variables)
Dans les touches Début, Déplacement, Fin des méthodes en fonction de ce que l'utilisateur retire des objets pertinents du tableau singleton et leur position/capacité est actualisé. Par conséquent, la prochaine fois que la boucle sera exécutée et qu'elle sera à nouveau dessinée, la méthode draw mettra à jour son emplacement ou son comportement.
Cela vous semble-t-il exact à ce stade? Dois-je instancier un objet GameViewController pour démarrer le niveau? Le gameLoop devrait-il être dans GameViewController ou devrait-il être dans le GameView? J'ai ajouté le GameView sur GameViewController dans InterfaceBuilder. Il dessine les objets initiaux mais je ne suis pas sûr de savoir comment les mettre à jour à l'avenir. Comment puis-je appeler la méthode drawRect pour tout mettre à jour?
De toute façon, désolé pour le poste extrêmement long. Je ne cherche pas une réponse spécifique juste un examen de quelqu'un plus expérimenté dans ce pour me dire:
1) oui, vous allez dans la conception de direction sage
2) ne vous devez repenser quelques choses
Merci pour votre aide
Stav
Je l'ai vérifié. Regarde assez puissant pour ce que je fais et assez facile! Je pense que je peux changer toute mon application à cela! Bravo – STDE
Hey - merci pour le commentaire. Je passe à cocos2d car il semble beaucoup plus facile et plus rapide que le framework de base que j'utilisais auparavant. À votre santé! – STDE