ObjetoGrafico.java
Categorías: CategoryJava | CategoryProgramacion |
1 package savetheearthsk;
2
3 import java.awt.Graphics;
4 import java.awt.Rectangle;
5 import java.io.Serializable;
6
7 /**
8 * es la clase que hereda a todos los objetos grafigos sus parametros
9 * @author Geroge Sebastian Parra Macias
10 * @author Luisa Fernanda Rueda Herrera
11 */
12 public abstract class ObjetoGrafico implements Serializable {
13
14 protected int x, y, ancho, alto;
15 protected boolean visible = true;
16
17 /** Esta es la constructora de el objeto grafico que hereda todo sus parametros a los objetos
18 * @param x es la ubicacion en X
19 * @param y es la posicion en Y
20 * @param ancho es el ancho de la calavera
21 * @param alto es el alto de la calavera
22 */
23 public ObjetoGrafico(int x, int y, int ancho, int alto) {
24 this.x = x;
25 this.y = y;
26 this.ancho = ancho;
27 this.alto = alto;
28 }
29
30 /**
31 * Este metodo es para heredar el pintar a todas las clases
32 * @param g es la clase base para todo contexto grafico
33 */
34 public abstract void paint(Graphics g);
35
36 /**
37 * Este Metodo realiza el incremento en X para heredarlo a los objetos graficos que lo requieran
38 * @param dx Genera el incremente o el decremento
39 */
40 public void incX(int dx) {
41 x += dx;
42 }
43
44 /**
45 * Este metodo genera el decremento en X para heredarlo a los objetos graficos que lo requieran
46 * @param dx Genera el incremente o el decremento
47 */
48 public void decX(int dx) {
49 x -= dx;
50 }
51
52 /**
53 * Este Metodo realiza el incremento en Y para heredarlo a los objetos graficos que lo requieran
54 * @param dy Genera el incremente o el decremento
55 */
56 public void incY(int dy) {
57 y += dy;
58 }
59
60 /**
61 * Este metodo genera el decremento en y para heredarlo a los objetos graficos que lo requieran
62 * @param dy Genera el incremente o el decremento
63 */
64 public void decY(int dy) {
65 y -= dy;
66 }
67
68 /**
69 * Este nos permite generalizar para todos los objetos graficos que van a colisionar
70 * y dejarselos heredar
71 * @param otro Nombre de parametro que refiere a objetoGrafico
72 * @return
73 */
74 public boolean colisiona(ObjetoGrafico otro) {
75 if (this == otro) {
76 return false;
77 }
78 if (visible == false || otro.visible == false) {
79 return false;
80 }
81 Rectangle r1 = new Rectangle(this.x, this.y, this.ancho, this.alto);
82 Rectangle r2 = new Rectangle(otro.x, otro.y, otro.ancho, otro.alto);
83 return r1.intersects(r2);
84 }
85
86 /**
87 * Boleano que refiere a si el objeto se ve o no se ve en pantalla
88 * @param visible refiere a si el objeto esta o no visible
89 */
90 public void setVisible(boolean visible) {
91 this.visible = visible;
92 }
93
94 /**
95 * Permite recibir si un objeto esta o no visible
96 * @return
97 */
98 public boolean getVisible() {
99 return visible;
100 }
101
102 /**
103 * Da poscicion a X
104 * @param x Es la poscicion en X del objeto
105 */
106 public void setX(int x) {
107 this.x = x;
108 }
109
110 /**
111 * da poscicion en y
112 * @param y es la poscicion en y del objeto
113 */
114 public void setY(int y) {
115 this.y = y;
116 }
117 }
118
