efqw

Páginas: 17 (4037 palabras) Publicado: 8 de noviembre de 2014
Packages empleados
Empieza con estas tres lineas:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
que indican los packages en los cuales se encuentran las clases e interfaces que vamos a usar.
En Java las clases se pueden agrupar dentro de packages. Dentro de un package el nombre de una clase debe ser único, no puede existir otra clase en ese package con el mismo nombre.No hay ningún problema si tenemos dos o más clases con el mismo nombre siempre y cuando estén dentro de packages diferentes. Esto es para que sea más sencillo seleccionar el nombre para una clase sin tener que preocuparse de si otro programador ya empleó ese mismo nombre para otra clase.
Cuando deseamos emplear clases de otro package es necesario indicarselo al compilador, por medio de un import,para que sepa donde buscarlas. En este caso le estamos indicando que las busque en los packages java.awt, java.awt.event yjavax.swing.
Nombre de la clase, constantes y variables de instancia
La linea siguiente:
public class Demo1 extends JComponent {
indica el inicio de la definición de la clase Demo1. Dice que Demo1 extiende JComponent, eso indica que hereda de la claseJComponent.Un JComponent es un componente gráfico de Swing que se puede incluir dentro de una ventana, sabe cómo desplegarse y cómo interactuar con el jugador. En este caso el componente gráfico es el area de la ventana en donde vamos a mostrar la animación y no tiene ninguna interacción con el "jugador".
Las lineas siguientes declaran algunas constantes:
private final static int ANCHO = 512;

private final staticint ALTO = 384;

private final static int DIAMETRO = 20;
Las constantes ANCHO y ALTO indican el ancho y alto del componente, mientras que DIAMETRO es el diametro de la bola que vamos a dibujar. Todas estas dimensiones están en unidades de pixeles.
Después vienen las declaraciones de la variables de instancia empleadas para almacenar la posición y velocidad de la bola:
private float x, y;private float vx, vy;
Las variables x y y son para almacenar la coordenadas de la esquina superior izquierda de la bola. Sí, ya sé que una bola no tiene esquinas. Imagínate que la bola está dentro de un cuadrado; estamos hablando de la esquina superior izquierda de ese cuadrado:


Al dibujar dentro de un componente de Swing, el origen del sistema de coordenadas está en la esquina superiorizquierda del componente (en este caso es el componente Demo1); los valores en el eje x se incrementan hacia la derecha y los valores en el eje y se incrementan hacia abajo:

 



Las coordenadas se miden en pixeles y deben ser números enteros. Si estás leyendo esta explicación cuidadosamente, seguramente te preguntas en este momento: ¿Si las coordenadas tienen que ser números enteros, entoncesporqué estamos usando variables de tipo float para almacenarlas? La respuesta es simple, las almacenamos como floatporque así es más sencillo hacer los cálculos para el movimiento de la bola y basta con redondear los valores a enteros cuando queremos dibujarla.
La velocidad de la bola es un vector. Tiene una magnitud --qué tán rápido va la bola-- y una dirección --hacia donde va la bola. Podríamosalmacenar esta información en dos variables, una llamada magnitud y otra llamada dirección, pero resulta más práctico para los cálculos de movimiento representar el vector velocidad separado en sus componentes horizontal y vertical dentro de las variables vx y vy respectivamente:

 


En otras palabras, vx y vy representan la velocidad horizontal y la velocidad vertical de la bola. Si vx espositivo la bola se está moviendo hacia la derecha, y si es negativo se está moviendo hacia la izquierda. De la misma manera, si vy es positivo la bola se esta moviendo hacia abajo, y si es negativo se está moviendo hacia arriba. El movimiento exacto de la bola es la suma de su movimiento horizontal y su movimiento vertical.
El constructor
La parte siguiente del programa:
public Demo1() {...
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS