ObjetoGrafico.java
1
2
3
4
5
6
7 import java.awt.Graphics;
8 import java.awt.Rectangle;
9
10 public abstract class ObjetoGrafico {
11
12 protected boolean visible = false;
13 private int ancho;
14 private int alto;
15 private int posX;
16 private int posY;
17 public ObjetoGrafico(int x, int y, int a, int d){
18 posX = x;
19 posY = y;
20 ancho = a;
21 alto = d;
22 }
23 public abstract void paint(Graphics g);
24
25 public void setVisible (boolean v){
26 visible = v;
27 }
28
29 public boolean getVisible(){
30 return visible;
31 }
32
33 public void setPosX (int x){
34 posX=x;
35 }
36
37 public int getPosX(){
38 return posX;
39 }
40
41 public void setPosY (int y){
42 posY=y;
43 }
44
45 public int getPosY(){
46 return posY;
47 }
48
49 public void setAncho (int a){
50 ancho = a;
51 }
52
53 public int getAncho (){
54 return ancho;
55 }
56
57 public void setAlto (int d){
58 alto = d;
59 }
60
61 public int getAlto (){
62 return alto;
63 }
64 public void moverArriba(int dy){
65 posY -= dy;
66 }
67 public void moverAbajo(int dy){
68 posY += dy;
69 }
70 public void moverDerecha(int dx){
71 posX += dx;
72 }
73 public void moverIzquierda(int dx){
74 posX -= dx;
75 }
76 public boolean colisiona(ObjetoGrafico og) {
77 Rectangle r1 = new Rectangle(getPosX(), getPosY(), getAncho(), getAlto());
78 Rectangle r2 = new Rectangle(og.getPosX(), og.getPosY(), og.getAncho(), og.getAlto());
79 boolean i = r1.intersects(r2);
80
81
82
83
84
85 return i;
86 }
87 public boolean dentro(ObjetoGrafico og){
88 Rectangle r1 = new Rectangle(getPosX(), getPosY(), getAncho(), getAlto());
89 Rectangle r2 = new Rectangle(og.getPosX(), og.getPosY(), og.getAncho(), og.getAlto());
90 boolean i = r1.contains(r2);
91
92
93
94
95
96 return i;
97 }
98 public String toString() {
99 return super.toString() + "(" + getPosX() + "," + getPosY() + "," + (getPosX() + getAncho()) + "," + (getPosY() + getAlto()) + ")";
100 }
101 }
CategoryProgramacion