Primeros Pasos Con Blitz3d

  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Primeros Pasos Con Blitz3d as PDF for free.

More details

  • Words: 880
  • Pages: 3
Primeros pasos con Blitz3D. Nota: Para este tutorial se recomiendan por lo menos algunos conocimientos básicos de programación como lo que son funciones, variables, etc. No es la intención en este momento hacer una comparativa con otros programas, pero a lo que la experiencia me ha llevado tras probar muchos, pero muchos otros lenguajes, es que el blitz es realmente un lenguaje excelente y podemos hacer casi todo lo que queramos con un poco de imaginación y paciencia. Pueden bajar una versión de prueba de aquí: http://www.blitzbasic.com/Products/_index_.php El programa ya viene con varios ejemplos. Creación de una escena: Antes que nada, empezar un programa en 3D, es como empezar en el vacío total….no hay luz, no hay aire ni vida ni nada….nosotros crearemos nuestro propio mundo a nuestro antojo, crearemos nuestras propias leyes y le daremos vida. Para empezar explicaremos algunos comandos que tendremos que usar en todos nuestros programas. No se preocupen si no los entienden con profundidad en este momento…funcionan de todas formas.  Abran el Blitz3D y creen un nuevo documento. Lo primero que haremos es inicializar los gráficos (o en otras palabras, darle un tamaño a la ventana de nuestro programa para que la podamos ver). Para esto usaremos como nuestra primera línea de código el comando: “Graphics3D Ancho, Alto, Profundidad, Modo” Graphics3D 640, 480, 16, 2 Los parámetros Ancho y Alto se miden en pixeles y son el ancho y alto de la ventana. La profundidad, es, por decirlo así, la calidad de los colores (16 o 32 Bits normalmente) y el Modo, indica si se ejecuta en modo ventana o pantalla completa. Vamos a usar esta configuración que por lo general se adapta a la mayoría de los monitores.

SetBuffer BackBuffer() El Buffer, es el lugar donde se realizan todas las operaciones de dibujo para luego volcarlas en la pantalla (es como hacer un dibujo en una hoja de papel, y cuando lo terminamos se lo mostramos a la gente para que lo vea), Esto se repite decenas de veces por segundo. Hay otros tipos de buffers que los veremos mas adelante. Lo siguiente que haremos será crear una cámara para que podamos ver todo lo que sucede en nuestro mundo…estos serán nuestros ojos. Para esto crearemos una variable que se llamará “Cam”, y usaremos la función “CreateCamera()” Cam = CreateCamera()

De ahora en adelante cada vez que queramos manipular la cámara (moverla, rotarla, etc.), nos referiremos a ella con la variable “Cam” Obviamente no tiene sentido ver en la oscuridad, así que crearemos una luz; y usaremos una fórmula muy parecida a la anterior. Luz = CreateLight() Igual que antes, desde ahora nos referiremos a la luz con la variable “Luz”. También podremos moverla, rotarla, cambiarle el color, etc., etc. Y como es lógico, no sirve de nada que tengamos luz, si no hay lo que ver….asi que… Cubo = CreateCube() Por norma…cada vez que creamos algo (cámara, luz, cubos, los que sea) , se crearán en el punto x=0, y=0, z=0, que es el punto inicial. Como la cámara y el cubo están exactamente en el mismo lugar, no lo podremos ver, así que moveremos un poco la cámara hacia atrás para alejarnos un poco del cubo. Y usaremos lo siguiente: MoveEntity Cam, 0, 0, -5 Aquí hay dos cosas que explicar. La primera: Todos los objetos que tengamos en el escenario son “Entidades” y casi todas las funciones y comandos se referirán a ellos como entidades. Podremos usar MoveEntity para mover cámaras, luces, personajes, enemigos…etc..etc…. La segunda: Como estamos trabajando en un espacio de 3 dimensiones, siempre que manipulemos alguna entidad lo tendremos que hacer en las 3 direcciones (x,y,z). Y para finalizar crearemos un bucle principal donde ocurrirán todas las acciones de nuestro programa y a continuación lo explicaremos. While KeyDown(1) = False RenderWorld() Flip() Wend El bucle While / Wend repite lo que hay en su interior si es que su cumple con la condición. La función KeyDown(tecla) nos devuelve si se esta apretando actualmente la tecla correspondiente (en este caso 1 = ESC) Y los comandos mas importantes. RenderWorld(). Dibuja todos los objetos 3d en el buffer. Todas las acciones, movimientos, rotaciones, etc, deben hacerce antes del RenderWorld() para luego ser dibujadas.

Flip(). Vuelca el Buffer en la pantalla para que lo podamos ver. Y para hacerlo un poco mas divertido y no solo ver un cubo en la pantalla pondremos dentro de nuestro bucle el comando: TurnEntity Cubo, 1, 2, 0 Este comando gira a la entidad tantas unidades (x, y, z) desde la última posición. En resumen nos ha quedado el código siguiente: Graphics3D 640, 480, 16, 2 SetBuffer BackBuffer() Cam = CreateCamera() Luz = CreateLight() Cubo = CreateCube() MoveEntity Cam, 0, 0, -5 While Keydown(1) = False TurnEntity Cubo, 1, 2, 0 RenderWorld() Flip() Wend Para ejecutar el programa pulsamos F5 y……………… El próximo tutorial será un poco mas práctico y divertido, y empezaremos a hacer nuestro primer juego en 3D. Pero como en todos los lenguajes, es muy conveniente que nos pasemos por su ayuda de vez en cuando (que no es nada complicada ni extensa y nos ahorrará muchísimos dolores de cabeza)….lo dice la experiencia!!!. Hasta la próxima!!! Cualquier duda pueden dirigirse a los foros de VB-Mundo en la sección de videojuegos. http://www.vb-mundo.com/

Related Documents