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 *
9 * @author lina maria bermudez
10 * @author mario nicolas arcila
11 */
12 /**
13 *
14 * La clase ObjetoGrafico es aquel que hereda a todas las clases sus parametros
15 */
16 public abstract class ObjetoGrafico implements Serializable {
17
18 protected int x, y, ancho, alto;
19 protected boolean visible = true;
20
21 /** Esta es la constructora de el objeto grafico que hereda todo sus parametros a los objetos
22
23 * @param x es la ubicacion en X
24 * @param y es la posicion en Y
25 * @param ancho es el ancho de la calavera
26 * @param alto es el alto de la calavera
27
28 */
29 public ObjetoGrafico(int x, int y, int ancho, int alto) {
30 this.x = x;
31 this.y = y;
32 this.ancho = ancho;
33 this.alto = alto;
34 }
35
36 /**
37 * Este metodo es para heredar el pintar a todas las clases
38 * @param g es la clase base para todo contexto grafico
39 */
40 public abstract void paint(Graphics g);
41
42 /** Este Metodo realiza el incremento en X para heredarlo a los objetos graficos que lo requieran
43 *
44 * @param dx Genera el incremente o el decremento
45 */
46 public void incX(int dx) {
47 x += dx;
48 }
49
50 /**
51 * Este metodo genera el decremento en X para heredarlo a los objetos graficos que lo requieran
52 * @param dx Genera el incremente o el decremento
53 */
54 public void decX(int dx) {
55 x -= dx;
56 }
57
58 /** Este Metodo realiza el incremento en Y para heredarlo a los objetos graficos que lo requieran
59 *
60 * @param dy Genera el incremente o el decremento
61 */
62 public void incY(int dy) {
63 y += dy;
64 }
65
66 /**
67 * Este metodo genera el decremento en y para heredarlo a los objetos graficos que lo requieran
68 * @param dy Genera el incremente o el decremento
69 */
70 public void decY(int dy) {
71 y -= dy;
72 }
73
74 /** Este nos permite generalizar para todos los objetos graficos que van a colisionar
75 * y dejarselos heredar
76 *
77 * @param otro Nombre de parametro que refiere a objetoGrafico
78 * @return
79 */
80 public boolean colisiona(ObjetoGrafico otro) {
81 if (this == otro) {
82 return false;
83 }
84 if (visible == false || otro.visible == false) {
85 return false;
86 }
87 Rectangle r1 = new Rectangle(this.x, this.y, this.ancho, this.alto);
88 Rectangle r2 = new Rectangle(otro.x, otro.y, otro.ancho, otro.alto);
89 return r1.intersects(r2);
90 }
91
92 /** Boleano que refiere a si el objeto se ve o no se ve en pantalla
93 *
94 * @param visible refiere a si el objeto esta o no visible
95 */
96 public void setVisible(boolean visible) {
97 this.visible = visible;
98 }
99
100 /**
101 * Permite recibir si un objeto esta o no visible
102 * @return
103 */
104 public boolean getVisible() {
105 return visible;
106 }
107
108 /** Recibe poscicion en X y lo devuelve
109 *
110 * @return
111 */
112 public int getX() {
113 return x;
114 }
115
116 /**
117 * Recibe poscicion en Y y lo devuelve
118 * @return
119 */
120 public int getY() {
121 return y;
122 }
123
124 /** Da poscicion a X
125 *
126 * @param x Es la poscicion en X del objeto
127 */
128 public void setX(int x) {
129 this.x = x;
130 }
131
132 /** da poscicion en y
133 *
134 * @param y es la poscicion en y del objeto
135 */
136 public void setY(int y) {
137 this.y = y;
138 }
139 }
140
141
