Traducir este blog

PROGRAMAS EN BLITZ BASIC 3D (BLITZ3D)

 PROGRAMAS EN BLITZ3D

Los programas que aparecen aquí eran los que aparecían en la página principal. En la medida en que vaya presentando nuevos programas, los más antiguos los ire trasladando a esta entrada del blog, para quienes miren y busquen por primera vez, puedan encontrar la serie de programas presentados.

PROGRAMA No. 1

1. Las líneas en color naranja son notas de programación dentro del programa; e inician siempre con punto y coma.

2. Las líneas en color azul, son órdenes o comandos de programación en lenguaje Blitz BASIC 3D.

3. El texto en color verde, es una frase que aparece en la pantalla gráfica, en las coordenadas 320, 500.

; ==============================================================

; autor(es): 

; grado: 

; funcion: crea cubo estático con primitiva gráfica

; fecha: agosto-8-2023

; lenguaje: BLITZ3D

; archivo de disco: "primitiva1.bb"

; =============================================================

; crear ventana 3D con x=800, y=600

Graphics3D 800,600

; dibujar en la memoria de pantalla: buffer trasero

SetBuffer BackBuffer()

; crear cámara

camara=CreateCamera()

; crear luz. La entidad cámara se almacena en la variable "luz1"

luz1=CreateLight()

;rotar la luz 30 grados en x

RotateEntity luz1, 30,0,0

; crear cubo 3d con primitiva gráfica: CreateCube() La imagen del cubo se alamacena

; en la variable: "caja1"

caja1= CreateCube()

; posicionar el gráfico "caja1" en: x=-3, y=-2, z=7

PositionEntity caja1,-3,-2,7

; crear bucle infinito con while - wend

; el bucle termina si se pulsa la tecla ESC

; el código de la tecla "ESC" es: 1

While Not KeyHit(1)

   UpdateWorld

   RenderWorld

   Text 320,500, "Dibujo de cubo 3D, estático, sin textura"

   Flip

Wend

End

PROGRAMA No. 2

; ==============================================================

; autor(es):

; grado: 

; funcion: crea esfera estática con primitiva gráfica

; fecha: agosto-19-2023

; lenguaje: BLITZ3D

; archivo de disco: "primitiva2.bb"

; =============================================================

 

Graphics3D 800,600,16         ; Establecemos tamaño de pantalla gráfica

SetBuffer BackBuffer()         ; Dibujamos en el buffer trasero o de pantalla

camara=CreateCamera()      ; Siempre hay que crear una cámara para 

                                                ;observar el mundo

luz=CreateLight()                 ; Siempre Creamos una luz ambiental

LightColor luz,0,90,250       ; Damos color a la luz ambiental para iluminar 

                                               ;nuestra entidad y poder verla

                                         ; El color es una mezca de 3 números: R,G,B (red, green, blue)

                                          ; cada valor puede ir de 0 a 255

bola=CreateSphere()      ; Creamos una esfera y se almacena en la variable "bola" 

MoveEntity bola,0,-3,7   ; Y la movemos hacia delante para que la pueda ver la cámara

                                           ; x=0, y=-3, z=7 

; se crea un bucle infinito con los comandos: REPEAT - UNTIL

; El bucle termina se se orime la tecla "ESC"

Repeat

   UpdateWorld           ; Actualizamos movimiento, colisiones (si los hubiera), etc

   RenderWorld           ; Dibujamos el mundo (camara,cubo y luz)

   Flip                           ; Pasamos el renderizado a la pantalla para que se vea

                                     ; Del Backbuffer al FrontBuffer

Until KeyDown(1)       ; Terminamos si pulsamos Escape

End 

PROGRAMA No. 3

; ============================================

; autor(es):

; grado: 

; función: crea esfera estática con una luz apuntándole

; fecha: agosto-19-2023

; lenguaje: BLITZ3D

; archivo de disco: "primitiva2.bb"

; ============================================


Graphics3D 640,480,32

camera = CreateCamera() 

MoveEntity camera,0,0,-3 

bola = CreateSphere() 

luz1 = CreateLight(1)        ;Puede cambiar el valor a 2 y 3 para ver el efecto

MoveEntity luz1,5,0,0 

PointEntity luz1,bola          ; hace que la luz le apunte al balón 

;bucle infinito con WHILE - WEND

While Not KeyDown(1) 

    UpdateWorld

    RenderWorld

    Flip 

Wend 

End

PROGRAMA No. 4

; =========================================

; autor(es):

; grado: 

; función: crea cono con luz apuntándole

; fecha: agosto-19-2023

; lenguaje: BLITZ3D

; archivo de disco: "primitiva3.bb"

; =========================================

Graphics3D 640,480,16

camera = CreateCamera() 

MoveEntity camera,0,0,-3 

cono1 = CreateCone() 

luz1 = CreateLight(3)   

MoveEntity luz1,5,0,0 

PointEntity luz1,cono1  

; Bucle infinito con While - wend

While Not KeyDown(1)

    UpdateWorld

    RenderWorld

    Flip 

Wend 

End

PROGRAMA #5

COLOCANDOLE MOVIMIENTO DE ROTACIÓN A LAS FIGURAS 3D

; ==========================================

; autor(es):

; grado: 

; funcion: crea cono con luz apuntándole

;          con giro en el eje Y

; fecha: agosto-19-2023

; lenguaje: BLITZ3D

; archivo de disco: "primitiva3.bb"

; ===========================================

Graphics3D 640,480,16            ; Ancho: 640, Alto: 480, color 16 bits

camera = CreateCamera() 

MoveEntity camera,0,0,-3 

cono1 = CreateCone() 

luz1 = CreateLight(3)   

MoveEntity luz1,5,0,0             ; mueve la luz1 a posición x=5, y=0, z=0

PointEntity luz1,cono1  


While Not KeyDown(1)

TurnEntity cono1,0,1,0 ; gira el cono. Por cada repetición del bucle se 

                                                ;incrementa el valor Y en 0.1  

                                                ; X=0   Y=0.1  Z=0

    UpdateWorld

    RenderWorld

    Flip 

Wend 

End

PROGRAMA #6

COLOCANDOLE MOVIMIENTO Y TEXTURA A UNA FIGURA 3D

; ==============================================================

; autor:

; grado: 

; función: crea primitiva esfera con una textura y lo gira en eje Y

; fecha: abril-30-2023

; lenguaje: BLITZ3D

; archivo de disco: "primitiva_1.bb"

; =============================================================

Graphics3D 640,480,32,1             ;ancho=640, alto=480, 

                                                            ;32=Color a 32 bits, 1= pantalla completa

SetBuffer BackBuffer()

camera=CreateCamera()

light=CreateLight()

tierra=CreateSphere()          ; crea esfera y la guarda en variable "tierra"

PositionEntity tierra,0,0,5

aspecto=LoadTexture("Earth.jpg") ;carga textura "Earth.jpg" y la guarda en

                                                 ;en la variable "aspecto"

EntityTexture tierra, aspecto  ; a entidad "tierra" colocar textura almacenada

                                               ; en variable "aspecto"

; inicia bucle infinito WHILE - WEND

; por cada repetición del bucle la variabl Y, disminuye en -1

While Not KeyDown(1)

TurnEntity tierra,0,1,0 ;giro antihorario con y=1

                                     ;giro horario y=-1

RenderWorld

Flip

Wend

End

TEXTURAS PARA OBJETOS 3D



EARTH.JPG




                                                                         CESPED2.PNG

WCRATE.JPG

PROGRAMA #7

; ==============================================================

; autor:

; grado: 

; función: crea primitiva CUBO con una textura para madera y la gira en eje Y

; fecha: septiembre-24-2023

; lenguaje: BLITZ3D

; archivo de disco: "cubo_textura.bb"

; =============================================================

Graphics3D 640,480,32,1             ;ancho=640, alto=480, 

                                                            ;32=Color a 32 bits, 1= pantalla completa

SetBuffer BackBuffer()

camera=CreateCamera()

light=CreateLight()

caja=CreateCube()          ; crea entidad cubo y la guarda en variable "caja"

PositionEntity caja,0,0,5

madera=LoadTexture("WCRATE.JPG") ;carga textura "wcrate,jpg" y la guarda en

                                                 ;en la variable "madera"

EntityTexture caja, aspecto  ; a entidad "caja" colocar textura almacenada

                                               ; en variable "madera"

; inicia bucle infinito WHILE - WEND

; por cada repetición del bucle la variabl Y, disminuye en -1

While Not KeyDown(1)

TurnEntity caja,0,1,0 ;giro antihorario con y=1

                                     ;giro horario y=-1

RenderWorld

Flip

Wend

End

Textura: "WCRATE.JPG"

PROGRAMA #8

MOVIMIENTO DE UN CILINDRO EN EJES X, Y ,Z

;===============================================

; función: mover cilindro en pantalla usando el teclado del Pc.

; fecha: 18-mayo-2023

; lenguaje: BLITZ3d

; programador: r2d2

; lenguaje: Blitz3D 

; archivo: 

; gráficos: r2d2

;=============================================== 

Graphics3D 800,600,32,1 ;crea ventana de X=800  Y=600 color 32 bits, 1:  pantalla completa

SetBuffer BackBuffer() ; dibujar en la memoria de pantalla


camara1=CreateCamera() ;Crea camara y guarda entidad en variable "camara1"

luz1=CreateLight() ;crea luz y almacena entidad en variable "luz1"


Cilindro=CreateCylinder() ;crea entidad cilindro y la guarda en la variable "cilindro"

; variables reales para el posición inicial del cilindro

; que se movera usando el teclado

; el simbolo "#" despues de cada variable, indica que los valores guardados 

; en x, y, z son valores reales.


; Posicion inicial del cilindro:

x#=0 ; el simbolo "#" indica que el valor de x es un número real

y#=0

z#=10


Repeat  ; inicia bucle infinito con: Repeat- Until

  Cls         ; borra pantalla

  

; movimiento hacia la izquierda o la derecha

  If KeyDown(203) x#=x-0.1     ; a la izquierda

  If KeyDown(205) x#=x+0.1     ; a la derecha


; movimiento hacia arriba y abajo

  If KeyDown(208) y#=y-0.1         ; hacia abajo

  If KeyDown(200) y#=y+0.1         ; hacia arriba


; movimiento adelante y atras del cilindro

  If KeyDown(16)  z#=z-0.1         ; hacia el frente

  If KeyDown(30)  z#=z+0.1         ; hacia atrás 


; cada vez que se repite el bucle se modifican las variables x,y,z

; si las teclas correspondientes a los codigos; 203, 205 208, 200, 16 y 30

; HAN SIDO PULSADAS

  PositionEntity Cilindro,x,y,z  ;comando que cambia la posición del cilindro

  UpdateWorld                          ; actualiza "mundo" y colisiones

  RenderWorld                          ; redibuja mundo y entidades


  ; imprime en pantalla los valores de x, y, z;cada que se pulsa una tecla programada.

  Text 10,500,"PositionEntity: " + "x="+ x#

  Text 10,520,"PositionEntity: " + "y="+ y#

  Text 10,540,"PositionEntity: " + "z="+ z#

  Text 10,560,"Mover con cursores y Q/A"


   Flip             ; vuelca memoria de pantalla a la pantalla gráfica

  Until KeyDown(1)

End

============================================

No hay comentarios:

Publicar un comentario

Porque en mi llevo el caos puedo hacer una estrella.