Je voudrais savoir si cela est une bonne idée que de mettre en œuvre la détection de collision 2D simple des rectangles comme suit:Mettre en oeuvre la détection de collision par extendung la classe Rectangle d'utiliser son contient et intersecte méthodes
- Faire mon propre Classe de détection de collision qui étend la classe Rectangle.
- Puis lors de l'instanciation de cet objet en faisant quelque chose comme
Collision col = new Rectangle();
< - Devrais-je faire cela ou est-ce quelque chose qui devrait être évité? Je suis conscient que je 'peut' mais devrait I? Je veux étendre la classe Rectangle à cause des méthodes etintersects()
; devrais-je faire cela ou devrais-je faire autre chose pour la détection de collision 2D en Java?
L'assertion 2 est erronée; De même, vous ne feriez pas de Carré étendre Rectangle et déclarer Square s = new Rectangle(), n'est-ce pas? – Pops
C'est pourquoi il est polymorphe. Contourner des rectangles sur des objets 2D pour détecter des collisions. –
Vous ne pouvez pas affecter un objet d'un super-type à une référence d'un sous-type. Les types sont incompatibles. 'Rectangle col = new Collision()', bien sûr, mais pas 'Collision col = new Rectangle()'. –