Panoramic

De Wikipedia, la enciclopedia libre

PANORAMIC o Panoramic BASIC es un lenguaje BASIC para Windows lanzado en 2007 que permite trabajar con los elementos habituales del entorno Windows (Button, Edit, Combo, Picture, Scene3D, Movie, Track_bar, Scroll_bar, ...), con sprites (a través del objeto SCENE2D) y con objetos 3D (dentro del objeto SCENE3D).

Descripción[editar]

PANORAMIC se distribuye como freeware y dispone de un editor cuya documentación se encuentra en inglés y francés. No requiere de DLLs externas ni librerías accesorias para su funcionamiento.

Su sintaxis parte de los clásicos comandos del lenguaje BASIC.

Ejemplos[editar]

Creación de un botón[editar]

  • Para crear un botón: BUTTON 1
  • Para darle un ancho de 100 píxeles: WIDTH 1, 100
  • Para mostrar un texto en el botón: CAPTION 1, "Texto del botón"

Gestión de 3D[editar]

  • Para crear un entorno 3D : SCENE3D 1
  • Para poner un vaso de agua en el mismo: 3d_TEAPOT 1 (todos los objetos 3D poseen su propia numeración identificativa)
  • Para rotar 30 grados la escena sobre su eje Z : 3D_Z_ROTATE 1, 30

Rotación de objetos en 3D[editar]

El siguiente código crea una escena en 3D con rotación del plano:

REM Ejemplo de Panoramic BASIC
REM ##########################

REM Inicio del MAIN_PROGRAM
REM #######################

     REM Definición de etiquetas y variables
     REM ###################################

     DIM x, y, z, t
     LABEL On_Click_Button_1
     LABEL On_Click_Button_2
     LABEL On_Click_Button_3
     
     REM Creación del Form_0
     REM ##################

     LEFT 0, 223
     TOP 0, 200
     WIDTH 0, 425
     HEIGHT 0, 525
     CAPTION 0, "Prueba"
 
     REM Creación del Button_1
     REM ####################

     BUTTON 1
          LEFT 1, 25
          TOP 1, 375
          WIDTH 1, 100
          HEIGHT 1, 100
          CAPTION 1, "Crear"
          ON_CLICK 1, On_Click_Button_1

     REM Creación del Button_2
     REM ####################

     BUTTON 2
          LEFT 2, 125
          TOP 2, 375
          WIDTH 2, 100
          HEIGHT 2, 100
          CAPTION 2, "Mover"
          ON_CLICK 2, On_Click_Button_2

     REM Creación del Button_3
     REM ####################

     BUTTON 3
          LEFT 3, 225
          TOP 3, 375
          WIDTH 3, 100
          HEIGHT 3, 100
          CAPTION 3, "Cerrar"
          ON_CLICK 3, On_Click_Button_3

     REM Creación del marco Scene3D_4
     REM ############################

          SCENE3D 4
          LEFT 4, 25
          TOP 4, 25
          WIDTH 4, 350
          HEIGHT 4, 350
          COLOR 4, 0, 0, 0
          
REM Fin del MAIN_PROGRAM
REM ####################

END

On_Click_Button_1:
     REM Creación de los objetos
     REM #######################
     
     FOR x = 5 TO 31
          3D_CUBE x, 0.35
     NEXT x

     REM Posición de los objetos
     REM #######################
     
     t = 5
     FOR x = -1 TO 1
          FOR y = -1 TO 1
               FOR z = -1 TO 1
                    3D_X_POSITION t, x
                    3D_Y_POSITION t, y
                    3D_Z_POSITION t, z
                    t = t + 1
               NEXT z
          NEXT y
     NEXT x

     REM Colorea los objetos
     REM ###################
     
     FOR x = 5 TO 31
          3D_COLOR x, 210, 10, 10
     NEXT x

     REM Objeto azul en el centro
     REM ########################
     
     3D_COLOR 18, 10, 10, 200

     REM Objetos amarillos en las esquinas
     REM #################################
     
     3D_COLOR 5, 200, 200, 10
     3D_COLOR 7, 200, 200, 10
     3D_COLOR 11, 200, 200, 10
     3D_COLOR 13, 200, 200, 10
     3D_COLOR 23, 200, 200, 10
     3D_COLOR 25, 200, 200, 10
     3D_COLOR 29, 200, 200, 10
     3D_COLOR 31, 200, 200, 10

     REM Coordenadas de referencia
     REM #########################
     
     POINT_X_POSITION 0
     POINT_Y_POSITION 0
     POINT_Z_POSITION 0
RETURN

On_Click_Button_2:
     REM Rotación de la cámara
     REM #####################
     
     FOR t = 0 TO 100
          x = 5 * SIN(t / 6.2432)
          z = 5 * COS(t / 6.2432)
          y = 2 * SIN(t / 6.2432)
          CAM_X_POSITION x
          CAM_Y_POSITION y
          CAM_Z_POSITION z
          LIGHT_X_POSITION 3 * x
          LIGHT_Z_POSITION 3 * z
          WAIT 20
     NEXT t

     FOR t = 0 TO 20
          z = z + 0.5
          CAM_Z_POSITION z
          LIGHT_Z_POSITION 3 * z
          WAIT 20
     NEXT t
RETURN

On_Click_Button_3:
     REM Fin del programa
     REM ################
     
     TERMINATE
RETURN

Versiones[editar]

La última versión (0.9.20) fue lanzada el 29 de noviembre de 2010, habiendo sido eliminadas las limitaciones en cuanto al número de objetos creables a partir de la versión 0.9.13 (del 15 de agosto de 2009).

Enlaces externos[editar]