Etiqueta: movimiento

Pong, el juego

Hola de nuevo. En la entrada anterior se ha explicado cómo comenzar a programar el juego Pong, vimos qué variables y constantes son necesarias y dimos algún consejo de buenas prácticas. Vimos también los eventos de teclado para que cada jugador disponga de dos teclas para mover su pala. Hoy vamos a terminar el código para que el juego funcione y nos permita medir nuestra pericia con algún compañero o amigo. Si recapitulamos a entradas anteriores donde se explicaba la forma de animar objetos en un DrawingArea, recordaremos que usábamos un Timer con un delay de 16ms, que equivale mas…

Seguir leyendo

Pong y los números mágicos

Hola de nuevo Después de una temporada sin publicaciones debido al trabajo y a unas merecidas vacaciones, volvemos a la carga con el esperado juego Pong, una demostración muy sencilla de cómo en alrededor de 200 líneas de código se puede realizar un juego entretenido usando sólo el control DrawingArea de Gambas. Pong (o Tele-Pong) fue un videojuego de la primera generación de videoconsolas publicado por Atari, creado por Nolan Bushnell y lanzado el 29 de noviembre de 1972. Pong está basado en el deporte de tenis de mesa (o ping pong). La palabra Pong es una marca registrada por Atari Interactive, mientras que la palabra genérica «pong» se usa para describir el género de videojuegos «pala…

Seguir leyendo

Colisiones y reflexiones

Hola. En la serie de artículos sobre el evento Draw() del DrawingArea vimos la forma de dibujar objetos y animarlos dentro de la superficie de dibujo, pero se nos plantean dos nuevas cuestiones relacionadas con el movimiento. Por una parte, si un objeto se mueve en línea recta lo que puede ocurrir  es que dicho objeto desaparezca para siempre al sobrepasar los límites de nuestro «lienzo» y por otro lado quizás lo que queremos es que ese objeto rebote contra algún otro cuerpo o los bordes del lienzo o reaparezca de nuevo en pantalla. Comencemos por el último caso.

DrawingArea y su evento Draw() – III

En el post anterior vimos cómo funcionaba el evento Draw del DrawingArea y cómo establecer algunas variables que afectaban a la forma de dibujar. Los métodos y propiedades de la clase Draw () y cómo disparar el evento usando un Timer. Pues bien, si nuestra intención es no sólo dibujar algo en un DA, sino además dotarlo de movimiento, parece lógico pensar que necesitamos disparar el evento Draw varias veces por segundo para conseguir «animar» los objetos.