Funciones predefinidas en PythonG
- create_point(x, y, color='black'). Dibuja el punto y devuelve
un índice para poder borrarlo.
- create_line(x1, y1, x2, y2, color='black'). Dibuja la linea
y devuelve un índice para poder borrarla.
- create_circle(x, y, radio, color='black'). Dibuja el circulo
y devuelve un índice para poder borrarlo.
- create_filled_circle(x, y, radio, colorExterior='black', colorRelleno=mismo
que colorExterior). Ídem al anterior pero relleno.
- create_rectangle(x1, y1, x2, y2, color='black'). Dibuja el rectangulo
y devuelve un índice para poder borrarlo.
- create_filled_rectangle(x1, y1, x2, y2, colorExterior='black', colorRelleno=mismo
que colorExterior). Ídem al anterior pero relleno.
- create_text(x, y, cadena, tam=10, ancla='CENTER'). Escribe texto
en la ventana gráfica. El parámetro ancla puede tomar los siguientes valores:
'CENTER', 'N', 'S', 'E', 'W', 'NE', 'SE', 'NW' y 'SW'.
- erase(indice). Borra un objeto dado su indice.
- erase(etiqueta). Borra todos los objetos con dicha etiqueta.
- erase(). Borra todos los objetos de la ventana gráfica.
- move(etiqueta,xinc,yinc). Desplaza una
distancia relativa (a cada objeto) todos los objetos con dicha etiqueta.
- keypressed(espera=2). Lee una tecla sin hacer echo por pantalla. Funciona
de tres modos diferentes según el valor del parámetro:
- keypressed(0): No espera tecla + retardo de repetición. Si cuando se llama
a la función hay una tecla pulsada, la devuelve. Si no hay ninguna pulsada,
devuelve None. El retardo de repetición evita que una pulsación genere más de un carácter.
- keypressed(1): No espera tecla + sin retardo de repetición. Idéntico al
anterior, excepto que no hay retardo de repetición por lo que cada pulsación
de una tecla suele generar varios caracteres. Este modo suele utilizarse en ciertos tipos de
juegos (¡ojo! no sirve para nada más).
- keypressed(2): Espera tecla + retardo de repetición. Espera hasta que se pulse
una tecla. Incorpora retardo de repetición para evitar que una pulsación
genere más de un carácter. Es el modo por defecto si
no se indica ningún parámetro.
- mouse_state(). Esta función devuelve la tupla (boton,posx,posy)
donde boton puede ser 0 (si no hay ningún botón pulsado) o un entero del 1 al 3 que identifica
qué botón se encuentra actualmente pulsado (1:izq. 2:central 3:der.). Los otros dos elementos
de la tupla ('posx' y
'posy') son las coordenadas del ratón en la ventana gráfica. Si el raton se encuentra fuera de la
ventana gráfica esta función devuelve (None,None,None). IMPORTANTE: debes tener cuidado
al utilizar esta función, pues cada vez que se pulsa un botón, este se encuentra pulsado durante
varios milisegundos, sufiente para que sucesivas llamadas a esta función devuelvan los mismos
valores. Por esto, necesitas asegurarte de que el botón se ha soltado antes de volver a mirar si
se ha pulsado de nuevo.
- window_size(ancho, alto). Tamaño físico en píxels
de la ventana gráfica. Si se llama a esta función sin argumentos, devuelve
una lista con los valores actuales.
- window_coordinates(xinf, yinf, xsup, ysup). Tamaño lógico
de la ventana gráfica. Si se llama a esta función sin argumentos, devuelve
una lista con los valores actuales.
- window_update(). En PythonG la
ventana gráfica puede tardar algún tiempo en actualizarse después de utilizar
una función de dibujo. Llamando a esta función se actualiza explícitamente la ventana gráfica.
- window_style(titulo, colorfondo='white', modo='TODO'). Permite definir un título,
un color de fondo de la ventana gráfica y un modo
para cuando el programa se ejecute fuera del entorno PythonG (con el módulo
modulepythong). Actualmente hay dos modos disponibles: 'TODO' que muestra
la ventana de 'salida gráfica' y la de 'entrada de teclado/salida de texto', y
'G' que muestra únicamente la de 'salida gráfica'. Dentro del entorno PythonG
únicamente tiene efecto el color del fondo.
- clear_output(). Borra todo el texto de la ventana de 'Entrada de teclado/Salida
de Texto'.
- close_window(). Se cierra todo y termina el programa. Dentro de PythonG no
produce ningun efecto.
AVANZADO: Las funciones de dibujo (create_point, create_line, create_circle,
create_filled_circle, create_rectangle, create_filled_rectangle y create_text) tienen
un parámetro adicional para añadir una etiqueta (tag) a los objetos. Por ejemplo:
create_point(10,10,'red',tags='etiqueta1')
Si un objeto esta etiquetado, es posible moverlo o borrarlo utilizando dicha etiqueta
como parámetro en las funciones move() y erase() respectivamente.