elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ... 115
91  Programación / .NET (C#, VB.NET, ASP) / Re: Christmas Downloader + (SOURCE) VB.NET en: 28 Diciembre 2008, 17:47 pm
No quiero disputas otra vez más, ya cumplió su ban si se demuestra que copia pues se le volverá a bannear, hasta entonces..  :-X

PD - Lo muevo a net =P
92  Programación / Java / Re: Problema con Mediatracker en: 26 Diciembre 2008, 14:52 pm
Si, pero ni aún poniendo un Thread.sleep(90000) se dibuja el fondo... Al final e conseguido resolver el problema de una forma que no me convence mucho pero bueno..

La idea era hacer un juego estilo worms, de tal manera que el suelo se fuese rompiendo a medida que se le disparase. Esto lo logro dibujando sobre un bufferedImage que contiene la imagen del suelo figuras geométricas, así que este es el método dibujar de la clase fondo:

Código
  1.    public void dibujar(Graphics2D g2)
  2.    {
  3.        // Dibujamos el escenario sin agujeros
  4.        Graphics2D gEscenario = buffEscenario.createGraphics();
  5.        Image aux = Toolkit.getDefaultToolkit().getImage(Main.class.getResource(rutaImagen));
  6.        gEscenario.drawImage(aux, 0, 0, null);
  7.  
  8.        // Dibujamos sobre el escenario los agujeros
  9.        gEscenario.drawImage(buffGeom, 0, 0, null);
  10.  
  11.        // Hacemos los agujeros transparentes
  12.        hacerColorTransparente(buffEscenario, Color.magenta);
  13.  
  14.        // Dibujamos el fondo y el escenario con los agujeros
  15.        g2.drawImage(buffFondo  , 0, 0, null);
  16.        g2.drawImage(buffEscenario, 0, 0, null);
  17.    }
  18.  

Está bastante menos optimizado que la otra idea, pero por lo menos funciona... a ver si alguien consigue saber por que lo otro no funciona...

Salu2
93  Programación / Programación Visual Basic / Re: Un bicho cada ves que prenda mi pc secion AYUDA en: 24 Diciembre 2008, 15:08 pm
Pues me supongo que si, por que si no menudo código más feo.. xDDD
94  Programación / Java / Problema con Mediatracker en: 22 Diciembre 2008, 19:54 pm
Hola

Estoy realizando una aplicación que me tiene que pintar sobre un JFrame una imagen de fondo (cargada en un BufferedImage) e ir pintando dentro de ese mismo BufferedImage distintas figuras geométricas.
El problema es que la imagen de fondo es de tamaño 800x600 que se pinta en la constructora de la clase "Fondo" y no le da tiempo. Pongo el código y luego explico con más detalle:

Main.java:
Código
  1. public class Main extends JFrame
  2. {    
  3.    // Ancho y alto de la ventana
  4.    private final int ANCHO = 800;
  5.    private final int ALTO  = 600;    
  6.  
  7.    // El media tracker
  8.    MediaTracker tracker;
  9.  
  10.    // El fondo
  11.    Fondo fondo;
  12.  
  13.    /***************************************************************************
  14.      **************************       INCIALIZAR      **************************
  15.      ***************************************************************************/
  16.  
  17.    public static void main(String[] args) { new Main(); }
  18.  
  19.    Main()
  20.    {
  21.        // Inicializamos los objetos
  22.        tracker = new MediaTracker(this); // El media tracker que usaré comúnmente a todas las clases
  23.        fondo   = new Fondo(tracker);
  24.  
  25.        // Inicializamos las propiedades de la ventana
  26.        this.setTitle("Roimpiendo texturas");
  27.        this.setSize (ANCHO, ALTO);
  28.        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
  29.        this.setLocation(150, 150);
  30.        this.setVisible(true);      
  31.    }
  32.  
  33.  
  34.    /***************************************************************************
  35.      **************************        DIBUJAR        **************************
  36.      ***************************************************************************/
  37.  
  38.    private void dobleBuffer(Graphics2D g2)
  39.    {      
  40.        fondo.dibujar(g2, tracker);
  41.  
  42.        repaint();      
  43.    }
  44.  
  45.    public void paint (Graphics g)
  46.    {
  47.        Graphics2D g2 = (Graphics2D) g;
  48.  
  49.        Image mImagen = createImage(ANCHO, ALTO);
  50.        dobleBuffer((Graphics2D)mImagen.getGraphics());
  51.  
  52.        g2.drawImage(mImagen, 0, 20, this);
  53.  
  54.        try { Thread.sleep(100); } catch(Exception e) {}
  55.    }    
  56. }
  57.  

Fondo.java:
Código
  1. public class Fondo
  2. {
  3.    // Propiedades de las imágenes
  4.    private final String  rutaImagen = "imagenes/fondo.gif";
  5.    private BufferedImage imagen;
  6.  
  7.    public final int anchoImagen = 800;
  8.    public final int altoImagen  = 600;
  9.  
  10.  
  11.    /***************************************************************************
  12.      ***************************    CONSTRUCTORAS    ***************************
  13.      ***************************************************************************/
  14.  
  15.    public Fondo(MediaTracker tracker)
  16.    {
  17.        // Inicializamos el buffer sobre el que pintaremos
  18.        imagen = new BufferedImage (anchoImagen, altoImagen, BufferedImage.TYPE_INT_ARGB);
  19.  
  20.        // Dibujamos dentro del buffer el fondo
  21.        Graphics2D g = imagen.createGraphics();
  22.        Image aux = Toolkit.getDefaultToolkit().getImage(Main.class.getResource(rutaImagen));
  23.  
  24.  
  25.        // Añadimos las imagenes al MediaTracker
  26.        tracker.addImage(aux, 0);
  27.  
  28.        g.drawImage(aux, 0, 0, null);
  29.  
  30.        // Aquí intento que espere hasta que esté pintado pero sin éxito...        
  31.        try{tracker.waitForAll();}catch(Exception e){}
  32.    }
  33.  
  34.  
  35.    /***************************************************************************
  36.      ***************************       DIBUJAR       ***************************
  37.      ***************************************************************************/
  38.  
  39.    public void dibujar(Graphics2D g2, MediaTracker tracker)
  40.    {            
  41.        g2.drawImage(imagen, 0, 0, null);
  42.        //try{tracker.waitForAll();}catch(Exception e){} // ¿Es necesario?
  43.    }
  44.  
  45. }
  46.  


Como podéis ver el mecanismo de la clase fondo es simple, en la constructora dibuja el fondo (se supone que el objeto MediaTracker debería esperar a que lo hiciese...) y en el método dibujar simplemente dibuja el BufferedImage ya que hay otros métodos encargados de dibujar sobre el mismo figuras geométricas como decía al principio.

Ahora mis dos dudas:
1 - ¿Cómo puedo hacer que realmente el programa espere a que el fondo esté pintado?
2 - ¿Está bien inicializado el objeto MediaTracker? Ya que no entiendo muy bien la explicación de la constructora en la documentación:
http://java.sun.com/j2se/1.4.2/docs/api/java/awt/MediaTracker.html

1S4ludo y gracias ;)
95  Programación / Java / Re: [!!]un poco de ayuda con java en: 16 Diciembre 2008, 16:42 pm
Cada tema en su subforo por favor =P

Supongo que en "factura.java" tendrás una clase que herede de JFrame o algo así, crea un objeto de esa clase y listo.
96  Programación / Programación Visual Basic / Re: [Antivirus - Escanea .bat's] VB6 en: 8 Diciembre 2008, 17:38 pm
Sale en todos los enlaces de rapidshare, no pasa nada, es solo para habisar de que no está verificado por el foro =P
97  Programación / Programación Visual Basic / Re: Change PE Entry Point [SRC] en: 4 Diciembre 2008, 14:50 pm
La mejor documentación es esta:
http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/pecoff_v8.docx

Citar
Solo tengo una duda, por ejemplo, yo añado una sección al ejecutable, como podria hacer para que el EntryPoint apuntara a esa nueva sección?

Cambiar el EP es simplemnte cambiar 4 bytes, haya el inicio de la nueva sección y ponle ese valor al EP, ten en cuenta el endian y si es VA o no :P
98  Programación / Java / Re: programa con swing en: 2 Diciembre 2008, 09:36 am
Esto va en el foro de Java ;) Busaca por las chinchetas del foro por que hay muchisima documentación sobre swing
99  Programación / Java / Re: Conocer buffer del flujo de datos (FileInputStream) en: 30 Noviembre 2008, 22:19 pm
Código
  1. File archivo = "tu_ruta";
  2. archivo.length(); // Te devuelve el tamaño
  3.  

Así puedes hallar el tamaño del archivo para definir el tamaño del buffer
100  Programación / Programación Visual Basic / Re: funcion eliminar de Space Invaders en: 23 Noviembre 2008, 17:49 pm
O lo preguntas en el foro de C o lo preguntas aquí, pero no lo preguntes en los dos :P En que lenguaje estás programando? aunque básicamente ya te han dicho la solución...

Supongo que cada enemigo será un Sprite guardado en un arreglo. Tienes que insertar una condición que verifique si la bala ha llegado a los enemigos, y si llega que se borre la unidad en la que está el enemigo, lo cual mostraría su coordenada vacía.

Para hacer lo que te estoy intentando explicar, hay algunos algoritmos de choques de sprites, te dejo aquí uno que creo que es bastante útil:

http://softwarelibre.uca.es/wikijuegos/Colisiones

Saludos.
Páginas: 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ... 115
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines