Héritage de NSViewController
BertrandMartin
Membre
Je lance mon second sujet du jour.
Pour faire des tracés, on crée une vue "Custom View", instance d'une classe héritée de NSView, en surchargeant sa méthode drawRect avec les instructions de tracés.
Pour mettre une vue sur une fenêtre, on crée une classe dérivée de NSViewController, liée à un fichier XIB contenant une vue pourvue de contrôles.
Maintenant, la question est : NSViewController hérite-t-elle de NSView ? Je veux dire, peut-on surcharger une méthode drawRect dans une classe NSViewController pour y faire des tracés ? Le but étant de faire se succéder des vues sur une fenêtre-mère avec des tracés différents. Je souhaiterai , revival 80's oblige, refaire une version de "l'Aigle d'Or", jeu sorti sur Oric 1/Atmos dans les années 80 ou on promenait une espèce de Playmobil dans les pièces d'un château médiéval à la recherche de différents artefacts .
Pour faire des tracés, on crée une vue "Custom View", instance d'une classe héritée de NSView, en surchargeant sa méthode drawRect avec les instructions de tracés.
Pour mettre une vue sur une fenêtre, on crée une classe dérivée de NSViewController, liée à un fichier XIB contenant une vue pourvue de contrôles.
Maintenant, la question est : NSViewController hérite-t-elle de NSView ? Je veux dire, peut-on surcharger une méthode drawRect dans une classe NSViewController pour y faire des tracés ? Le but étant de faire se succéder des vues sur une fenêtre-mère avec des tracés différents. Je souhaiterai , revival 80's oblige, refaire une version de "l'Aigle d'Or", jeu sorti sur Oric 1/Atmos dans les années 80 ou on promenait une espèce de Playmobil dans les pièces d'un château médiéval à la recherche de différents artefacts .
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Regarder la doc de NSViewController pourrait, sans doute aucun, donner la réponse.
À quoi bon ?
Quelque soit le texte d'un label, il s'agit toujours d'un NSTextField, on lui fournit le texte à afficher, on ne s'amuse pas à créer une sous-classe pour chaque texte possible.
Là ce serait pareil. Tu aurais une seule sous-classe de NSView, et il faut que tu lui fournisses les données à afficher, par exemple, un objet qui donne la liste des images constituant le décor.
De toute façon, utiliser Cocoa pour faire des jeux est une mauvaise idée. Ce sera très complexe à faire fonctionner, et le résultat sera décevant.
Utilise Cocos 2D.
NSView est une vue.
Ce sont donc des objets bien différents et séparés dans le MVC.
Je te suggère de relire un peu la littérature sur le pattern MVC pour bien comprendre les principes et voir que ces 2 classes sont clairement séparées, c'est tout l'objet du MVC justement.
Personnellement sinon, liés à des fichiers xib, j'utilise plutôt NSWindowController pour y écrire mes méthodes appelées depuis l'interface graphique dans la fenêtre.