Traducir este blog

Pequeños programas en Blitz3D para videojuegos

 PROGRAMAS EN BLITZBASIC 3D

PROGRAMA No. 1

; ================================================
; alumno:
; grado: 
; función: crea esfera con textura y con luz apuntándole
; fecha: enero-25-2026
; lenguaje: BLITZ3D
; numero: 1
; archivo de disco:
; ================================================
Graphics3D 1024,768,32,1 ;establece tamaño de pantalla grafica
camara1 = CreateCamera() ;crea camara y la guarda en variable "camara1"
PositionEntity camara1, 0,2,-5      ;posiciona camara en: x=0, y=2 y z=7
luz1 = CreateLight(4)                ;crea luz y la guarda en variable "luz1"
PositionEntity luz1,0,3,0 ;posiciona luz en: x=0, y=3 y z=0
LightColor luz1,0,250,250
bola = CreateSphere() ;crea esfera y la guarda en variable "bola"
PositionEntity bola, 0,2,0 ;posiciona la bola en: x=0, y=1 y z=0
PointEntity luz1,bola                      ; hace que la luz le apunte al balón
cubierta= LoadTexture("tierra.png") ;carga textura y la guarda en variable "cubierta"
EntityTexture bola, cubierta ;a la entidad "bola" colocarle la textura guardada en "cubierta"

;bucle infinito con WHILE - WEND
While Not KeyDown(1) ; se sale del bucle infinito pulsando tecla "ESC"
     ; 1 es el codigo de la tecla escape para programarla
    UpdateWorld ; actualiza movimientos y colisiones
    RenderWorld ; redibuja objetos y mundo
    Flip ; para objetos y mundo de memoria de pantalla a la pantalla
; o del backbuffer al frontbuffer
Wend ; repite el bucle si no se ha presionado la tecla "ESC"
End ; fin de programa
===================================================================
TEXTURA PARA LA ESFERA:



PROGRAMA No. 2

; ===============================================================
; alumno:
; grado: 
; función: crea esfera con textura, girando y con luz apuntándole
; fecha: enero-25-2026
; lenguaje: BLITZ 3D
; numero: 2
; archivo de disco:
; ===============================================================
Graphics3D 1024,768,32,1 ;establece tamaño de pantalla grafica

camara1 = CreateCamera() ;crea camara y la guarda en variable "camara1"
PositionEntity camara1, 0,2,-5  ;posiciona camara en: x=0, y=2 y z=7

luz1 = CreateLight(4)             ;crea luz y la guarda en variable "luz1"
PositionEntity luz1,0,3,0 ;posiciona luz en: x=0, y=3 y z=0

bola = CreateSphere() ;crea esfera y la guarda en variable "bola"
PositionEntity bola, 0,1,0 ;posiciona la bola en: x=0, y=1 y z=0
PointEntity luz1,bola                   ; hace que la "luz1" le apunte a la "bola"

cubierta= LoadTexture("tierra.png") ;carga textura y la guarda en variable "cubierta"
EntityTexture bola, cubierta ;a la entidad "bola" colocarle la textura guardada en "cubierta"

;bucle infinito con WHILE - WEND

While Not KeyDown(1) ; se sale del bucle infinito pulsando tecla "ESC"
;1 es el codigo de la tecla escape para programarla
    TurnEntity bola,0,0.5,0     ; rota la esfera 0.5 grados en el ejey=0.5
    UpdateWorld ; actualiza movimientos y colisiones
    RenderWorld ; redibuja objetos y mundo
    Flip ; pasa objetos y mundo de memoria de pantalla
;  a la pantalla o del backbuffer al frontbuffer
Wend ; repite el bucle si no se ha presionado la tecla "ESC"
End ; fin de programa
====================================================================

PROGRAMA #3
;=================================================================
; función: mover cilindro en pantalla usando el teclado del Pc.
; fecha: 25-enero-2026
; lenguaje: BLITZ3d
; programador: Jordan Mechner
; lenguaje: Blitz3D 
; archivo:
; gráficos: 
;==================================================================
Cls                  ; borra pantalla
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"
piel=LoadTexture("cara_cilindro.png") ; carga textura
EntityTexture cilindro,piel ; coloca textura a cilindro

; variables reales para el posición inicial del cilindro que se movera usando el teclado 
; en x, y, z son valores reales para la 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

; 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 a bajo
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 pulsan las teclas 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 ; fin programa

NOTA: aqui dejo latextura para el cilindro: "cara_cilindro.png"





No hay comentarios:

Publicar un comentario

Porque en mi llevo el caos puedo hacer una estrella.