Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- funciones básicas de Lua
- Al ser un intérprete de Lua, incluye todas las funciones básicas
- Documentación desde: http://www.lua.org/manual/5.1/manual.html#pdf-_G
- -- color
- color.new(r,g,b,a) -- crea un color nuevo a partir de sus componentes
- color.blend(color1,color2) -- mezcla dos colores
- color.mix(color1,color2,p1,p2) -- mezcla dos colores usando porcentajes
- color.add(color1,color2) -- suma dos colores
- color.sub(color1,color2) -- resta dos colores
- color.R(color) -- devuelve la componente R del color
- color.G(color) -- devuelve la componente G del color
- color.B(color) -- devuelve la componente B del color
- color.A(color) -- devuelve la componente A del color
- -- timer
- timer.new([offset]) -- crea y devuelve un temporizador, si se indica el offset, el temporizador tendrá ese valor como valor inicial, en lugar de ser 0
- timer.start(temporizador) o temporizador:start() -- inicia un temporizador
- timer.time(temporizador) o temporizador:time() -- devuelve el tiempo en milisegundos desde que se inició el temporizador
- timer.stop(temporizador) o temporizador:stop() -- detiene un temporizador
- timer.reset(temporizador) o temporizador:reset([offset]) -- reinicia un temporizador, si se indica el offset, el temporizador tendrá ese valor, en lugar de ser reiniciado a 0
- timer.free(temporizador) o temporizador:free() -- libera la ram ocupada por un temporizador
- -- font
- font.load("fuente.ttf") -- carga una fuente
- font.free(fuente) o fuente:free() -- libera la ram ocupada por una fuente
- -- screen
- screen.width() -- ancho actual de la pantalla
- screen.height() -- alto actual de la pantalla
- screen.clear([color]) -- limpia la pantalla del color que se le de, default: negro
- screen.print([fuente,]x,y,texto) -- imprime un texto en pantalla, si se pone un objeto de fuente, se usa dicha fuente
- screen.print([fuente,]x,y,texto,size,color_letra,color_sombra) -- lo mismo de arriba, pero con más cosas xD
- screen.flip() -- actualiza el frame actual
- screen.clip(x,y,w,h) -- limita el área de dibujado
- screen.clip() -- reset clip
- screen.fps() -- devuelve la cantidad de cuadros que se renderizan por segundo
- screen.enable() -- habilita la salida de video
- screen.disable() -- deshabilita la salida de video
- screen.textwidth([fuente,]texto[,tamaño]) -- devuelve el ancho en píxeles de un texto, si no se especifica tamaño, se usará el valor por defecto (1)
- -- controls
- controls.read() -- lee todos los controles
- -- wiimote
- controls.wiimote.setled(led,on_off[,canal]) -- on = 1, off = 0, prende o apaga el led especificado en el wiimote
- controls.wiimote.setchan([canal]) -- default: 1, cambia el canal por default de TODAS las funciones de wiimote, esto incluye a las expansiones (ver controls.wiimote.expansion())
- controls.wiimote.analogtodigital(distance[,canal]) -- distance: de 0 a 128, si se especifica canal, será sólo para ese wiimote+nunchuk, caso contrario, será para todos. Esta función Hace que el joystick del nunchuk, funcione como si fuera el pad del wiimote, ej: controls.wiimote.analogtodigital(50), al mover el joystick en X mas de 50, controls.wiimote.press("right") será true, mientras el joystick siga a la derecha, controls.wiimote.right() será true, y si el joystick luego de estar hacia la derecha, vuelve a su posición original o hacia la izquierda, controls.wiimote.release("right") será true.
- controls.wiimote.vib(on_off[,canal]) -- enciende o apaga el motor del wiimote, valores de on_off: 1 y 0
- controls.wiimote.expansion([canal]) -- indica que expansión está conectada al wiimote, devuelve string: "none", "guitar hero", "balance board", "motion plus", "nunchuk", "classic". Si, la balance board, es un wiimote gigante xD
- controls.wiimote.batt([canal]) -- indica la carga de las baterías del wiimote, número (0-100)
- controls.wiimote.irx([canal]) -- posición en X de la cámara de infrarrojos, alias, cursor del wiimote, número (0,640)
- controls.wiimote.iry([canal]) -- posición en Y de la cámara de infrarrojos, alias, cursor del wiimote, número (0,480)
- controls.wiimote.irz([canal]) -- número en metros! distancia de la sensor bar, a la cámara de infrarrojos del wiimote
- controls.wiimote.irangle([canal]) -- ángulo con el que está el wiimote apuntando a la sensorbar, número (0,360)
- controls.wiimote.irdotx(número_de_led[,canal]) -- posición en X de un led detectado por la cámara IR, número (0,1023)
- controls.wiimote.irdoty(número_de_led[,canal]) -- posición en Y de un led detectado por la cámara IR, número (0,767)
- controls.wiimote.irdotsize(número_de_led[,canal]) -- tamaño de un led detectado por la cámara IR, número (0,15)
- controls.wiimote.accelx([canal]) -- Acelerómetro horizontal, número
- controls.wiimote.accely([canal]) -- Acelerómetro vertical, número
- controls.wiimote.accelz([canal]) -- Acelerómetro de profundidad, número
- controls.wiimote.gravx([canal]) -- fuerza aplicada al acelerómetro horizontal, número
- controls.wiimote.gravy([canal]) -- fuerza aplicada al acelerómetro vetical, número
- controls.wiimote.gravz([canal]) -- fuerza aplicada al acelerómetro de profundidad, número
- controls.wiimote.roll([canal]) -- grado de giro en X, número (-180,180)
- controls.wiimote.pitch([canal]) -- grado de giro en Y, número (-180,180)
- controls.wiimote.yaw([canal]) -- no se como describirlo, tiene que ver con el IR, apunta a la pantalla y mira xD, número
- -- wiimote (booleans)
- controls.wiimote.connected([canal]) -- está conectado/prendido/tiene batt ?
- controls.wiimote.press("boton"[,canal]) -- se ha presionado un botón
- controls.wiimote.release("boton"[,canal]) -- se ha soltado un botón
- controls.wiimote.one([canal])
- controls.wiimote.two([canal])
- controls.wiimote.up([canal])
- controls.wiimote.right([canal])
- controls.wiimote.down([canal])
- controls.wiimote.left([canal])
- controls.wiimote.a([canal])
- controls.wiimote.b([canal])
- controls.wiimote.home([canal])
- controls.wiimote.minus([canal])
- controls.wiimote.plus([canal])
- controls.wiimote.viewing([canal]) -- esta viendo a la sensor bar?
- controls.wiimote.irdot(número_de_led[,canal]) -- esta viendo a un led?
- -- nunchuk
- controls.nunchuk.press("boton"[,canal]) -- bool
- controls.nunchuk.release("boton"[,canal]) -- bool
- controls.nunchuk.c([canal]) -- bool
- controls.nunchuk.z([canal]) -- bool
- controls.nunchuk.analogx([canal]) -- número (-128,128)
- controls.nunchuk.analogy([canal]) -- número (-128,128)
- controls.nunchuk.accelx([canal]) -- Acelerómetro horizontal, número
- controls.nunchuk.accely([canal]) -- Acelerómetro vertical, número
- controls.nunchuk.accelz([canal]) -- Acelerómetro de profundidad, número
- controls.nunchuk.gravx([canal]) -- fuerza aplicada al acelerómetro horizontal, número
- controls.nunchuk.gravy([canal]) -- fuerza aplicada al acelerómetro vertical, número
- controls.nunchuk.gravz([canal]) -- fuerza aplicada al acelerómetro profundidad, número
- controls.nunchuk.roll([canal]) -- grado de giro en X, número (-180,180)
- controls.nunchuk.pitch([canal]) -- grado de giro en Y, número (-180,180)
- -- balance board (need testers)
- controls.balance.x([canal]) -- número (??,??)
- controls.balance.y([canal]) -- número (??,??)
- controls.balance.weight([canal]) -- número, peso en Kilogramos
- -- motion plus (need testers)
- controls.wiimote.mpx([canal]) -- número (??,??)
- controls.wiimote.mpy([canal]) -- número (??,??)
- controls.wiimote.mpz([canal]) -- número (??,??)
- -- classic control (numbers) (need testers)
- controls.classic.analoglx([canal]) -- número (-128,128)
- controls.classic.analogly([canal]) -- número (-128,128)
- controls.classic.analogrx([canal]) -- número (-128,128)
- controls.classic.analogry([canal]) -- número (-128,128)
- -- classic control (booleans) (need testers)
- controls.classic.press("boton"[,canal])
- controls.classic.release("boton"[,canal])
- controls.classic.up([canal])
- controls.classic.left([canal])
- controls.classic.zr([canal])
- controls.classic.x([canal])
- controls.classic.a([canal])
- controls.classic.y([canal])
- controls.classic.b([canal])
- controls.classic.zl([canal])
- controls.classic.r([canal])
- controls.classic.plus([canal])
- controls.classic.home([canal])
- controls.classic.minus([canal])
- controls.classic.l([canal])
- controls.classic.down([canal])
- controls.classic.right([canal])
- controls.classic.setchan([canal]) -- default: 1, cambia el canal por default de TODAS las funciones de wiimote, esto incluye a las expansiones (ver controls.wiimote.expansion())
- -- GameCube
- controls.gc.vib(on_off[,canal]) -- enciende o apaga el motor del gc, valores de on_off: 1 y 0
- controls.gc.setchan([canal]) -- default: 1, cambia el valor por default de lectura de TODAS las funciones de GC
- controls.gc.press("boton"[,canal])
- controls.gc.release("boton"[,canal])
- controls.gc.left([canal])
- controls.gc.right([canal])
- controls.gc.down([canal])
- controls.gc.up([canal])
- controls.gc.a([canal])
- controls.gc.x([canal])
- controls.gc.y([canal])
- controls.gc.b([canal])
- controls.gc.l([canal])
- controls.gc.r([canal])
- controls.gc.z([canal])
- controls.gc.start([canal])
- controls.gc.analogl([canal]) -- número (0,255) presión aplicada al gatillo l
- controls.gc.analogr([canal]) -- número (0,255) presión aplicada al gatillo r
- controls.gc.analoglx([canal]) -- número (-128,127) análogo superior izquierdo
- controls.gc.analogly([canal]) -- número (-128,127) análogo superior izquierdo
- controls.gc.analogrx([canal]) -- número (-128,127) análogo inferior derecho, alias: C Buttons
- controls.gc.analogry([canal]) -- número (-128,127) análogo inferior derecho, alias: C Buttons
- -- imágenes
- image.load("ruta") -- carga una imagen
- image.blit(x,y,imagen) o imagen:blit(x,y) -- blitea una imagen en pantalla
- image.blit(x,y,image,x,y,w,h) o imagen:blit(x,y,x,y,w,h) -- blitea parte de una imagen
- imagen_dest:blit(x,y,imagen_src) o image.blit(imagen_dest,x,y,imagen_src) -- blitea en imagen_dest, la imagen imagen_src, la posicion x,y indica en que parte de imagen_dest se bliteará
- imagen_dest:blit(x,y,imagen_src,x1,y1,w,h) o image.blit(imagen_dest,x,y,imagen_src,x1,y1,w,h) -- lo mismo de arriba, pero no blitea toda, solo una parte delimitada por x1,y1,w,h
- image.pixel(imagen,x,y[,color]) o imagen:pixel(x,y[,color]); -- pinta un pixel en una imagen, si no se especifica color, devuelve el color q tiene ese pixel
- image.pixel(x,y[,color]) -- pinta un pixel en pantalla, si no se especifica color, devuelve el color q tiene ese pixel
- image.free(imagen) o imagen:free() -- libera la ram ocupada por una imagen
- image.rotate(imagen,[x,y,]angulo) o imagen:rotate([x,y,]angulo) -- rota una imagen, angulo en grados, si se especifican x,y, rota en base a ese centro, sino, rota en el centro de la imagen
- image.resize(imagen,w,h) o imagen:resize(w,h) -- cambia el tamaño con el que se ve la imagen en pantalla
- imagen.width(imagen) o image:width() -- ancho actual, con resize y todo eso xD
- imagen.height(imagen) o image:height() -- alto actual, con resize y todo eso xD
- imagen.realwidth(imagen) o image:realwidth() -- ancho REAL de la imagen cargada
- imagen.realheight(imagen) o image:realheight() -- ancho REAL de la imagen cargada
- imagen.center(imagen[,x,y]) o imagen:center([x,y]) -- Ej: imagen:center(50,50) imagen:blit(10,10), en pantalla, en el punto 10, 10, estará el punto 50, 50 de la imagen
- image.reset() o imagen:reset() -- deja la imagen "de fábrica", sin resizes, rotate, ni nada...
- image.createempty(w,h[,color]) o image.create(w,h[,color]) -- crea una imagen de ancho w, y alto h, si se especifica color, será rellenada con ese color, caso contrario, será negro transparente
- image.clear(imagen[,color]) o imagen:clear([color]) -- Limpia una imagen, y la rellena con el color especificado, si no se especfica color, será negro transparente
- image.blend(x,y,imagen[,alfa]) o imagen:blend(x,y[,alfa]) -- como el blit clásico, pero con transparencia
- image.fxtint(x,y,imagen[,color]) o imagen:fxtint(x,y[,color]) -- como el blit clásico, pero con efecto de tintado de imagen
- image.factorscale(imagen,factor) o imagen:factorscale(factor) -- Reescala una imagen, pero multiplicando por un factor. factor = 100 = tamaño original (100%)
- image.save(ruta) -- Guarda una captura de pantalla en formato PNG, se pueden usar rutas relativas o absolutas. Esta función debe ser usada luego de dibujar todo lo que se quiera capturar, y antes del screen.flip()
- -- draw
- draw.rect(x,y,w,h[,color]) -- dibuja el marco de un rectángulo en pantalla, default: blanco
- draw.fillrect(x,y,w,h[,color]) -- dibuja el un rectángulo relleno en pantalla, default: blanco
- draw.line(x1,y1,x2,y2[,color]) -- dibuja una línea en pantalla, default: blanco
- draw.circle(x,y,r[,color]) -- dibuja un círculo en pantalla, x,y son las coordenadas del centro, r es el radio, color default: blanco
- draw.fillcircle(x,y,r[,color]) -- lo mismo de arriba, pero relleno, default: blanco
- draw.gradrect(x,y,w,h,c1,c2,c3,c4) -- dibuja un rectángulo con degradado, colores: c1 (esquina sup izq), c2 (esquina sup der), c3 (inf izq), c4 (inf der)
- draw.gradline(x1,y1,x2,y2,c1,c2) -- dibuja una línea degradada c1 (color de x1,y1), c2 (color de x2,y2)
- draw.ngone(x,y,radio,sides[,color]) -- dibuja los lados de un polígono de n lados circunscrito (claro que el círculo, no se ve), x,y coordenadas del centro, r es el radio, color default: blanco
- draw.fillngone(x,y,radio,sides[,color]) -- lo de arriba, pero relleno default: blanco
- os.exit() u os.quit() -- salir
- os.clock() -- milisecs
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement