|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectgpl.gasteroids.SpaceShip
public class SpaceShip
Modela una nave y todos sus proyectiles.
Las propiedades publicas de una nave son:
Una nave es responsable de los proyectiles que lanza. Estos proyectiles se guardan
en una instancia de Vector
. Cuando la nave dispara, el proyectil sale con una
velocidad inicial resultante de la velocidad instantánea de la nave más la proporcionada
por el cañón.
Field Summary | |
---|---|
double |
arg
|
double |
engine_time
|
double |
force_x
|
double |
force_y
|
int |
L
|
double |
m
|
double |
speed_x
|
double |
speed_y
|
double |
thrust
|
double |
x
|
int |
x_max
|
int |
x_min
|
double |
y
|
int |
y_max
|
int |
y_min
|
Constructor Summary | |
---|---|
SpaceShip()
Constructor, inicializa la nave |
Method Summary | |
---|---|
void |
fire()
Pide a la nave que abra fuego. |
java.util.Vector |
getBullets()
Retorna un Vector con los proyectiles controlados por la nave |
void |
paint(javax.microedition.lcdui.Graphics g)
Dibuja la nave y cada uno de los proyectiles. |
java.lang.String |
toString()
|
void |
updatePosition(double t)
Actualiza la posición de la nave suponiendo que han transcurrido t segundos. |
void |
updateSpeed(double t)
Actualiza la velocidad de la nave. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public double x
public double y
public int x_min
public int x_max
public int y_min
public int y_max
public double arg
public double speed_x
public double speed_y
public double force_x
public double force_y
public double m
public double thrust
public double engine_time
public final int L
Constructor Detail |
---|
public SpaceShip()
Method Detail |
---|
public void updateSpeed(double t)
Para ello tiene en cuenta:
Cuando se actualiza la velocidad de la nave, se supone que la maniobra concluye. Por lo tanto el contador parcial de tiempo con los motores encendidos se pone a 0.
t
- tiempo transcurrido en segundospublic void updatePosition(double t)
Para ello:
Si se pretende que la nave rebote, o bien salga por un borde para entrar por otro (espacio continuo como el Asteroids original) este es el método en el que picar código.
t
- tiempo transcurrido en segundospublic void paint(javax.microedition.lcdui.Graphics g)
g
- Objeto Graphics
en el que dibujarpublic java.lang.String toString()
toString
in class java.lang.Object
public void fire()
Cada vez que se invoca a este método, la nave lanza un nuevo proyectil.
El proyectil tiene una posición determinada por la posición en la que la nave disparó.
La velocidad del proyectil está determinada por la velocidad instantánea de la nave en el momento del disparo más la velocidad proporcionada por su cañon. Se tiene en cuenta la orientación de la nave en el momento del disparo.
public java.util.Vector getBullets()
Vector
con los proyectiles controlados por la nave
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |