Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/05/2013, 06:33
chisbi
 
Fecha de Ingreso: mayo-2013
Mensajes: 5
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Problemas con keypressed y menu de panel con boton

Pego el codigo en 2 mensajes.

Código:
package Pantallas;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.ArrayList;
import javax.swing.ButtonGroup;
import javax.swing.GroupLayout;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.LayoutStyle;
import javax.swing.Timer;
import Elementos.Alien1;
import Elementos.Alien2;
import Elementos.Misil;
import Elementos.Nave1;
import java.awt.Rectangle;

public class Intro extends JPanel implements ActionListener {

	public Image image;
	public int x;
	public int y;
	public int nivel_dificultad;
	public int velo_alien;
	public boolean InGame;
	
	
	public Timer timer;
	
	public Nave1 nave1;
	public Alien1 alien1;
	public Alien2 alien2;
	public ArrayList<Alien1> alien1Activos;
	public ArrayList<Alien2> alien2Activos;
	
	
	public ButtonGroup GrupoDificultad;
	public JButton jButton1;
	public JLabel jLabel1;
	public JPanel jPanel1;
	public JRadioButton jRadioButton1;
	public JRadioButton jRadioButton2;
	public JRadioButton jRadioButton3;
	public JRadioButton jRadioButton4;
		

	public Intro() {

		addKeyListener(new TAdapter());
		
		setFocusable(true);
		setBackground(Color.white);
		setDoubleBuffered(true);
		
		InGame = false;

		nave1 = new Nave1();
		alien1 = new Alien1();
		alien2 = new Alien2();

		alien1Activos = new ArrayList<Alien1>();
		alien2Activos = new ArrayList<Alien2>();
		
		//Ponemos por defecto estos valores, ya que Radio Button esta apretado por defecto en esta dificultad
		nivel_dificultad = 5;
		velo_alien = 2;
		
		x = 0;
		y = 0;
		
		timer = new Timer(5, this); // cada 5 ms llama actionPerformed
		timer.start();
		
	}

	
	public Image getPantallaImage() {
		return image;
	}
	
	public int getPantallaX() {
		return x;
	}

	public int getPantallaY() {
		return y;
	}

	public int getDificultad() {
		return nivel_dificultad;
	}

	public boolean getInGame() {
		return InGame;
	}
	
	
	public ArrayList<Alien1> getAlien1() {
		
	for (int i = 0; i < nivel_dificultad; i++) {
			alien1Activos.add(new Alien1());
		}
		return alien1Activos;
	}

	public ArrayList<Alien2> getAlien2() {
		
		for (int i = 0; i < nivel_dificultad; i++) {
			alien2Activos.add(new Alien2());
		}
		return alien2Activos;
	}

	public void CrearMenuPrincipal(){
		ImageIcon ii = new ImageIcon(this.getClass().getResource("../PantallaInicial_V2.jpg"));
		image = ii.getImage();
		selectorDificultad();
		
		
	}
	
	public void CrearStage1(){
		ImageIcon ii = new ImageIcon(this.getClass().getResource("../stage1.jpg"));
		image = ii.getImage();

	}
	
	
	public void FindeJuego(){
		ImageIcon ii = new ImageIcon(this.getClass().getResource("../GameOver.jpg"));
		image = ii.getImage();
		InGame=false;

	}
	
	public void EliminarPanel(){
		jPanel1.setVisible(false);
		jPanel1.setEnabled(false);
		jPanel1.removeAll();
		jButton1.setVisible(false);
		jButton1.removeAll();
		jButton1.setEnabled(false);
		jRadioButton1.setVisible(false);
		jRadioButton1.setEnabled(false);
		jRadioButton1.removeAll();
		jRadioButton2.setVisible(false);
		jRadioButton2.setEnabled(false);
		jRadioButton2.removeAll();
		jRadioButton3.setVisible(false);
		jRadioButton3.setEnabled(false);
		jRadioButton3.removeAll();
		jRadioButton4.setVisible(false);
		jRadioButton4.setEnabled(false);
		jRadioButton4.removeAll();
		jLabel1.setVisible(false);
		jLabel1.removeAll();
		GrupoDificultad.remove(null);
		updateUI();
	}
	
	
	public void checkCollisions() {

			// chequear colisiones de la nave con los alien1

			Rectangle r1 = nave1.ObtenerLimites();

			if (nave1.esVisible() || (InGame = true))
				for (int i = 0; i < alien1Activos.size(); i++) {
					Alien1 alien1x = (Alien1) alien1Activos.get(i);
					Rectangle r2 = alien1x.ObtenerLimites();

					if (r1.intersects(r2)) {
						nave1.visible = false;
						alien1x.visible = false;
						InGame = false;
					}
				}

			// chequear colisiones de la nave con los alien2

			if (nave1.esVisible() || (InGame = true))
				for (int i = 0; i < alien2Activos.size(); i++) {
					Alien2 alien2x = (Alien2) alien2Activos.get(i);
					Rectangle r3 = alien2x.ObtenerLimites();

					if (r1.intersects(r3)) {
						nave1.visible = false;
						alien2x.visible = false;
						InGame = false;
					}
				}

			// chequear colisiones de los misiles con alien1
			ArrayList<Misil> misiles = nave1.getMissiles();
			
			if (nave1.esVisible() || (InGame = true))
			    for (int i = 0; i < misiles.size(); i++) {
				   Misil misilx = (Misil) misiles.get(i);
                   Rectangle r4 = misilx.ObtenerLimites();

				for (int j = 0; j < alien1Activos.size(); j++) {
					Alien1 alien1x = (Alien1) alien1Activos.get(j);
					Rectangle r2 = alien1x.ObtenerLimites();

					if (r4.intersects(r2)) {
						alien1x.visible = false;
						misilx.visible = false;
					}
				}
			}

			// chequear colisiones de los misiles con alien2
			if (nave1.esVisible() || (InGame = true))
			for (int i = 0; i < misiles.size(); i++) {
				Misil misilx = (Misil) misiles.get(i);

				Rectangle r4 = misilx.ObtenerLimites();

				for (int j = 0; j < alien2Activos.size(); j++) {
					Alien2 alien2x = (Alien2) alien2Activos.get(j);
					Rectangle r3 = alien2x.ObtenerLimites();

					if (r4.intersects(r3)) {
						misilx.visible = false;
						alien2x.visible = false;
					}

				}
			}

		}