SlideShare a Scribd company logo
1 of 24
Getting Started Book Capitulo “Response”
Conociendo “Response”       En este capítulo del libro Getting Started Book se pretende utilizar las diferentes herramientas que tenemos a nuestro alcance, el mouse y el teclado, y lograr de esta manera que el código responda ante estas entradas, o inputs. Para lograr esto, la herramienta básica de Processing es Draw ()  que se escribe de la siguiente manera en el programa:       Para poder demostrar como funciona Draw,  o como este corre en tiempo     continuo lo más simple es escribir un mensaje como el siguiente:
      El mensaje resaltado en un círculo rojo irá corriendo continuamente, desde arriba hacia abajo, a menos que le hagamos click al botón Stop.   Esta es la única forma para lograr que el conteo y el mensaje no siga corriendo. Lo mismo sucedería si estamos dibujando un trazo. Velocidad del conteo Ésta depende de la cantidad de cuadros por segundo llamado frame   en Processing. Este se escribe de la siguiente manera:
En el ejemplo anterior ocupamos otro tipo de frame llamado frameCount el cual determina el conteo, o la velocidad y cantidad con la cual aparece el mensaje en el rectángulo negro. Con frameCount el conteo va en orden continuo y funciona a un cuadro por segundo, a diferencia de lo que se consigue con frameRate donde se puede aumentar a mas cuadros por segundo la velocidad de dicho mensaje. En este caso debemos especificar antes a que herramienta queremos integrarle este conteo o velocidad en la cual corre, y luego poner entre paréntesis el código frameCount. En este caso solamente es necesario poner entre paréntesis la cantidad de cuadros por segundos que se quiere reproducir el mensaje.
      Existe otra función de Processing que permite establecer valores que no cambiarán a lo largo de todo el código y que se tomarán como base o punto de partida para comenzar dicho código, esta función es setupy se escribe de la siguiente manera: Generalmente los valores más comunes en ubicarse en esta función son size, filly stroke. Valores numéricos solamente de ejemplo
De esta manera podemos diferenciar entre Draw y Setup que, el primero se ejecuta continuamente, y que Setup es una función que sólo se ejecuta una vez, o sea es estable. Ambas trabajan en conjunto, como en el siguiente ejemplo: Así es como se verá:
Following       Ya conocemos lo que realiza Setupy lo que por su parte hace Draw, de esta manera sabemos que podemos mantener un código ejecutándose continuamente y si a esto le sumamos el movimiento del mouse o el presionar alguna tecla para seguir este código continuo, podemos dibujar una estela, líneas o la forma que queramos y hacer que sigan el movimiento del mouse.       Para esto es necesario digitar dos nuevas funciones mouseXque contiene las coordenadas X del plano cartesiano y mouseY que contiene las coordenadas Y de dicho plano, y se escriben de la siguiente manera: “ellipse” solo es un ejemplo al igual que los valores numéricos, estos pueden ser cualquiera.
Un ejemplo de Setup y de Draw trabajando en conjunto, donde la ellipse se va dibujando continuamente y sigue el mouse: Así se verá:
En este otro ejemplo podemos ver como el punto sigue al mouse, y no dibuja, simplemente está como pegado a al puntero. Esto se logra agregando la función Backgrounden Draw, ya que de esta manera el fondo se va repitiendo continuamente, va limpiando la ventana: Así se verá:
Existen dos funciones que van en conjunto con mouseX y mouseY, estas son pmouseX y pmouseY, estas permiten dejar constancia de la ubicación del mouse en trazo en general, desde el comienzo. Estas se escriben asi: Un ejemplo: Así se verá:
Las variables pmouseX y pmouseY pueden también ser usadas para calcular la velocidad del mouse.Siel Mouse esta moviéndose lentamente, la distancia es chica, pero si el Mouse comienza a moverse rápidamente, la distancia crece.  Y esto se logra mediante a la integración de otra función Dist como se muestra en el ejemplo: Así se verá:
MAPA Los números son utilizados para dibujar en la pantalla, esto es de gran utilidad para convertir los valores desde un rango de numero de otro. Ej 5-10:  Valores de mapa a un rango La variable mouseX es usualmente entre 0 y el ancho de la ventana, pero es posible que desee volver a asignar los valores a un rango diferente de coordenada. Se puedes hacer esto para fabricar cálculos como dividir mouseX para reducir este rango y luego adicionando o sustrayendo un numero para cambiar esto a izquierda o derecha: void setup() { size(140, 90); strokeWeight(12); smooth(); } void draw() { background(232, 246, 5); stroke(90, 232, 12); line(90, 100, mouseX, mouseY); // line stroke(0); float mx = mouseX/2 + 60; line(120, 60, mx, mouseY); // line }
La función map() es una manera mas general para hacer este tipo de cambios. Esta conversión de variables desde un rango de número a otro. El primer parámetro es la variable para ser convertida. El segundo y tercer parámetro son los bajos y altos variables, y el cuarto y quinto parámetro son los valores deseados bajos y altos. La función map() oculta las matemáticas detrás de la conversión. Ej 5-11 El mapa con la funcion map() Este ejemplo vuelve a escribir el ejemplo 5-10 usando map() void setup() { size(240, 120); strokeWeight(12); smooth(); } void draw() { background(204); stroke(246, 5, 198); line(120, 60, mouseX, mouseY); // White line stroke(0); float mx = map(mouseX, 0, width, 60, 180); line(120, 60, mx, mouseY); // Black line }
La funcion map()          hace fácil el código para leer, porque los valores mínimos y máximos son limpiamente escritos como un parámetro.          En este ejemplo los valores de mouseX entre 0 y el ancho son convertidos para un numero desde 60 (cuando el mouseX es 0) hasta 180 (cuando mouseX es el ancho). Se podrías encontrar útil la función map en muchos ejemplos a través de este libro.
Click ,[object Object],Ej 5-12 Presiona el Mouse ,[object Object],voidsetup() { size(120, 120); smooth(); strokeWeight(30); } voiddraw() { background(204); stroke(5, 209, 246); line(40, 0, 70, height); if (mousePressed) { if (mouseButton == LEFT) { stroke(255); } else { stroke(0); } line(0, 70, width, 50); } }
Una estructura de if puede ser usada con los valores mouseX y mouseY para determinar la ubicación del cursor dentro de la ventana. Ubicación
Este ejemplo sirve de prueba para ver si el cursor está sobre el lado izquierdo o derecho de una línea y luego mueve la línea hacia el cursor: http://www.openprocessing.org/visuals/checkVisual.php?visualID=12646 Ejemplo 5-15: Encontrar el cursor
Usamos la función dist() para obtener distancia desde el centro del círculo hasta el cursor, luego probamos si la distancia es menor que el radio del círculo (ver figura 5-3). Si lo es, nosotros sabemos que estamos adentro. http://www.openprocessing.org/visuals/checkVisual.php?visualID=12647 Ejemplo 5-17: El límite de un rectángulo http://www.openprocessing.org/visuals/checkVisual.php?visualID=12648 Ejemplo 5-16: El límite de un círculo
Processing registra cuando cualquier tecla es presionada, así como la última tecla presionada. Para esto, usamos la variable keyPressed. Tipo
En este ejemplo, la segunda línea esta dibujada sólo cuando una tecla esta presionada: http://www.openprocessing.org/visuals/checkVisual.php?visualID=12649 Ejemplo 5-18: Pulse una tecla
Este ejemplo introduce la función textSize() para un conjunto de medidas de letras, la función textAling() para centrar el texto sobre las coordenadas X, y  la función text() para dibujar las letras.  http://www.openprocessing.org/visuals/checkVisual.php?visualID=12650 Ejemplo 5-19: Escribe algunas letras
En este ejemplo, nosotros probamos para que sea tecleada una H o N. Utilizamos el operador de comparación, el símbolo ==, para ver si el valor del teclado es igual para el carácter que estamos mirando ahora: http://www.openprocessing.org/visuals/checkVisual.php?visualID=12651 Ejemplo 5-20: Comprobar para una tecla específica
Muestra como comprobar las teclas de flecha izquierda o derecha para mover un rectángulo:  http://www.openprocessing.org/visuals/checkVisual.php?visualID=12652 Ejemplo 5-21: Moverse con la tecla de la flecha.

More Related Content

What's hot

Creando diagramas de flujo con dfd
Creando diagramas de flujo con dfdCreando diagramas de flujo con dfd
Creando diagramas de flujo con dfdLincoln School
 
Arreglos en pseint Tutorial Basico
Arreglos en pseint Tutorial BasicoArreglos en pseint Tutorial Basico
Arreglos en pseint Tutorial BasicoChobe69
 
Entrada y salida, manejo de cadenas de texto
Entrada y salida, manejo de cadenas de textoEntrada y salida, manejo de cadenas de texto
Entrada y salida, manejo de cadenas de textoAndres Bedoya Tobon
 
Excel - Variables y condicionales
Excel - Variables y condicionalesExcel - Variables y condicionales
Excel - Variables y condicionalesAndres Bedoya Tobon
 
Arreglos en PSeInt
Arreglos en PSeIntArreglos en PSeInt
Arreglos en PSeIntJerry
 
Paradigmas de programacion 2
Paradigmas de programacion 2Paradigmas de programacion 2
Paradigmas de programacion 2jeansebas154
 
Variables Visual
Variables VisualVariables Visual
Variables Visualnera24mx
 
M altamirano ejercicios+practicos+con+el+uso+de+pse_int
M altamirano ejercicios+practicos+con+el+uso+de+pse_intM altamirano ejercicios+practicos+con+el+uso+de+pse_int
M altamirano ejercicios+practicos+con+el+uso+de+pse_intPablo Contramaestre
 
Software para cálculos matemáticos
Software para cálculos matemáticosSoftware para cálculos matemáticos
Software para cálculos matemáticosdaniimoyano
 

What's hot (19)

Creando diagramas de flujo con dfd
Creando diagramas de flujo con dfdCreando diagramas de flujo con dfd
Creando diagramas de flujo con dfd
 
Arreglos en pseint Tutorial Basico
Arreglos en pseint Tutorial BasicoArreglos en pseint Tutorial Basico
Arreglos en pseint Tutorial Basico
 
Estructuras decision
Estructuras decisionEstructuras decision
Estructuras decision
 
Entrada y salida, manejo de cadenas de texto
Entrada y salida, manejo de cadenas de textoEntrada y salida, manejo de cadenas de texto
Entrada y salida, manejo de cadenas de texto
 
Excel - Variables y condicionales
Excel - Variables y condicionalesExcel - Variables y condicionales
Excel - Variables y condicionales
 
Practica 16
Practica 16Practica 16
Practica 16
 
DATOS LENGUAJE C
DATOS LENGUAJE CDATOS LENGUAJE C
DATOS LENGUAJE C
 
Arreglos en PSeInt
Arreglos en PSeIntArreglos en PSeInt
Arreglos en PSeInt
 
Ejercicios 2 Graficos
Ejercicios 2 GraficosEjercicios 2 Graficos
Ejercicios 2 Graficos
 
Paradigmas de programacion 2
Paradigmas de programacion 2Paradigmas de programacion 2
Paradigmas de programacion 2
 
Variables Visual
Variables VisualVariables Visual
Variables Visual
 
M altamirano ejercicios+practicos+con+el+uso+de+pse_int
M altamirano ejercicios+practicos+con+el+uso+de+pse_intM altamirano ejercicios+practicos+con+el+uso+de+pse_int
M altamirano ejercicios+practicos+con+el+uso+de+pse_int
 
Otro
OtroOtro
Otro
 
Cadenas
CadenasCadenas
Cadenas
 
Teorico2
Teorico2Teorico2
Teorico2
 
Software para cálculos matemáticos
Software para cálculos matemáticosSoftware para cálculos matemáticos
Software para cálculos matemáticos
 
Practica16
Practica16Practica16
Practica16
 
Lineas Aleatorias
Lineas AleatoriasLineas Aleatorias
Lineas Aleatorias
 
Tipos de frames
Tipos de framesTipos de frames
Tipos de frames
 

Viewers also liked

(Sadn1013 h) kump 15
(Sadn1013 h) kump 15(Sadn1013 h) kump 15
(Sadn1013 h) kump 15sadn1013
 
Estándares europeos de calidad para los servicios de empleo con apoyo.
Estándares europeos de calidad para los servicios de empleo con apoyo.Estándares europeos de calidad para los servicios de empleo con apoyo.
Estándares europeos de calidad para los servicios de empleo con apoyo.José María
 
이벤트펜션 산정호수숙박
이벤트펜션 산정호수숙박이벤트펜션 산정호수숙박
이벤트펜션 산정호수숙박jdhfrter
 
Mind patterns and anti-patterns
Mind patterns and anti-patternsMind patterns and anti-patterns
Mind patterns and anti-patternsVladimir Dzhuvinov
 
Havas pr emilie parker art connection
Havas pr  emilie parker art connectionHavas pr  emilie parker art connection
Havas pr emilie parker art connectionHavas
 
Happiest Minds is Hiring!!!!!!!
Happiest Minds is Hiring!!!!!!!Happiest Minds is Hiring!!!!!!!
Happiest Minds is Hiring!!!!!!!Ashok K DL
 
Are you experienced (cont.)
Are you experienced (cont.) Are you experienced (cont.)
Are you experienced (cont.) Royi benyossef
 
자료구조 그래프 보고서
자료구조 그래프 보고서자료구조 그래프 보고서
자료구조 그래프 보고서mil23
 
GeoStories - Integration of Digital Media and Maps (GISCO Fall Meeting)
GeoStories - Integration of Digital Media and Maps (GISCO Fall Meeting)GeoStories - Integration of Digital Media and Maps (GISCO Fall Meeting)
GeoStories - Integration of Digital Media and Maps (GISCO Fall Meeting)Jeremy W. Goldsmith
 
Reverse-engineering techniques in Data Integration
Reverse-engineering techniques in Data IntegrationReverse-engineering techniques in Data Integration
Reverse-engineering techniques in Data IntegrationCOST action BM1006
 
Sesión hematuria dic 14
Sesión hematuria dic 14Sesión hematuria dic 14
Sesión hematuria dic 14fguiraos
 
2015.05.05 AccountingDay - A Peek in the Future of Corporate America False Pr...
2015.05.05 AccountingDay - A Peek in the Future of Corporate America False Pr...2015.05.05 AccountingDay - A Peek in the Future of Corporate America False Pr...
2015.05.05 AccountingDay - A Peek in the Future of Corporate America False Pr...blairbaker008
 
Hiring for fit, hiring for talent
Hiring for fit, hiring for talentHiring for fit, hiring for talent
Hiring for fit, hiring for talentGenghis Philip
 

Viewers also liked (20)

delitos informaticos
delitos informaticosdelitos informaticos
delitos informaticos
 
(Sadn1013 h) kump 15
(Sadn1013 h) kump 15(Sadn1013 h) kump 15
(Sadn1013 h) kump 15
 
Capital autospa
Capital autospaCapital autospa
Capital autospa
 
Estándares europeos de calidad para los servicios de empleo con apoyo.
Estándares europeos de calidad para los servicios de empleo con apoyo.Estándares europeos de calidad para los servicios de empleo con apoyo.
Estándares europeos de calidad para los servicios de empleo con apoyo.
 
WAS-for-dummies
WAS-for-dummiesWAS-for-dummies
WAS-for-dummies
 
이벤트펜션 산정호수숙박
이벤트펜션 산정호수숙박이벤트펜션 산정호수숙박
이벤트펜션 산정호수숙박
 
Mind patterns and anti-patterns
Mind patterns and anti-patternsMind patterns and anti-patterns
Mind patterns and anti-patterns
 
Education
EducationEducation
Education
 
Havas pr emilie parker art connection
Havas pr  emilie parker art connectionHavas pr  emilie parker art connection
Havas pr emilie parker art connection
 
Happiest Minds is Hiring!!!!!!!
Happiest Minds is Hiring!!!!!!!Happiest Minds is Hiring!!!!!!!
Happiest Minds is Hiring!!!!!!!
 
Are you experienced (cont.)
Are you experienced (cont.) Are you experienced (cont.)
Are you experienced (cont.)
 
자료구조 그래프 보고서
자료구조 그래프 보고서자료구조 그래프 보고서
자료구조 그래프 보고서
 
GeoStories - Integration of Digital Media and Maps (GISCO Fall Meeting)
GeoStories - Integration of Digital Media and Maps (GISCO Fall Meeting)GeoStories - Integration of Digital Media and Maps (GISCO Fall Meeting)
GeoStories - Integration of Digital Media and Maps (GISCO Fall Meeting)
 
Planimetria camper
Planimetria camperPlanimetria camper
Planimetria camper
 
Yasmily laminario
Yasmily laminarioYasmily laminario
Yasmily laminario
 
Reverse-engineering techniques in Data Integration
Reverse-engineering techniques in Data IntegrationReverse-engineering techniques in Data Integration
Reverse-engineering techniques in Data Integration
 
Introdução à anatomia
Introdução à anatomiaIntrodução à anatomia
Introdução à anatomia
 
Sesión hematuria dic 14
Sesión hematuria dic 14Sesión hematuria dic 14
Sesión hematuria dic 14
 
2015.05.05 AccountingDay - A Peek in the Future of Corporate America False Pr...
2015.05.05 AccountingDay - A Peek in the Future of Corporate America False Pr...2015.05.05 AccountingDay - A Peek in the Future of Corporate America False Pr...
2015.05.05 AccountingDay - A Peek in the Future of Corporate America False Pr...
 
Hiring for fit, hiring for talent
Hiring for fit, hiring for talentHiring for fit, hiring for talent
Hiring for fit, hiring for talent
 

Similar to Getting Started Book - Response Chapter Overview

Similar to Getting Started Book - Response Chapter Overview (20)

Mathlab tutorial
Mathlab tutorialMathlab tutorial
Mathlab tutorial
 
CALCULADORA VOYAGE Capitulo 5(9)
CALCULADORA VOYAGE Capitulo 5(9)CALCULADORA VOYAGE Capitulo 5(9)
CALCULADORA VOYAGE Capitulo 5(9)
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
Efectos basico autocad
Efectos basico autocadEfectos basico autocad
Efectos basico autocad
 
Trabajo escrito grupal de pseint
Trabajo escrito grupal de pseint Trabajo escrito grupal de pseint
Trabajo escrito grupal de pseint
 
Trabajo escrito grupal de pseint
Trabajo escrito grupal de pseint Trabajo escrito grupal de pseint
Trabajo escrito grupal de pseint
 
Trabajo escrito grupal de pseint
Trabajo escrito grupal de pseint Trabajo escrito grupal de pseint
Trabajo escrito grupal de pseint
 
Trabajo escrito grupal de pseint
Trabajo escrito grupal de pseint Trabajo escrito grupal de pseint
Trabajo escrito grupal de pseint
 
Trabajo escrito grupal de pseint
Trabajo escrito grupal de pseint Trabajo escrito grupal de pseint
Trabajo escrito grupal de pseint
 
DFD
DFDDFD
DFD
 
COMANDOS BASICOS EN AUTOCAD
COMANDOS BASICOS  EN AUTOCAD COMANDOS BASICOS  EN AUTOCAD
COMANDOS BASICOS EN AUTOCAD
 
Primer programa en 1
Primer programa en 1Primer programa en 1
Primer programa en 1
 
Guia didactica programacion estructurada unidad 4
Guia didactica programacion estructurada unidad 4Guia didactica programacion estructurada unidad 4
Guia didactica programacion estructurada unidad 4
 
Efectos basicos
Efectos basicosEfectos basicos
Efectos basicos
 
Matlab
MatlabMatlab
Matlab
 
Controles Mas Habituales Leidy Cita
Controles Mas Habituales Leidy CitaControles Mas Habituales Leidy Cita
Controles Mas Habituales Leidy Cita
 
Tutorial funciones básicas Matlab
Tutorial funciones básicas MatlabTutorial funciones básicas Matlab
Tutorial funciones básicas Matlab
 
Escuela
EscuelaEscuela
Escuela
 
Escuela
EscuelaEscuela
Escuela
 

Getting Started Book - Response Chapter Overview

  • 1. Getting Started Book Capitulo “Response”
  • 2. Conociendo “Response” En este capítulo del libro Getting Started Book se pretende utilizar las diferentes herramientas que tenemos a nuestro alcance, el mouse y el teclado, y lograr de esta manera que el código responda ante estas entradas, o inputs. Para lograr esto, la herramienta básica de Processing es Draw () que se escribe de la siguiente manera en el programa: Para poder demostrar como funciona Draw, o como este corre en tiempo continuo lo más simple es escribir un mensaje como el siguiente:
  • 3.
  • 4. El mensaje resaltado en un círculo rojo irá corriendo continuamente, desde arriba hacia abajo, a menos que le hagamos click al botón Stop. Esta es la única forma para lograr que el conteo y el mensaje no siga corriendo. Lo mismo sucedería si estamos dibujando un trazo. Velocidad del conteo Ésta depende de la cantidad de cuadros por segundo llamado frame en Processing. Este se escribe de la siguiente manera:
  • 5. En el ejemplo anterior ocupamos otro tipo de frame llamado frameCount el cual determina el conteo, o la velocidad y cantidad con la cual aparece el mensaje en el rectángulo negro. Con frameCount el conteo va en orden continuo y funciona a un cuadro por segundo, a diferencia de lo que se consigue con frameRate donde se puede aumentar a mas cuadros por segundo la velocidad de dicho mensaje. En este caso debemos especificar antes a que herramienta queremos integrarle este conteo o velocidad en la cual corre, y luego poner entre paréntesis el código frameCount. En este caso solamente es necesario poner entre paréntesis la cantidad de cuadros por segundos que se quiere reproducir el mensaje.
  • 6. Existe otra función de Processing que permite establecer valores que no cambiarán a lo largo de todo el código y que se tomarán como base o punto de partida para comenzar dicho código, esta función es setupy se escribe de la siguiente manera: Generalmente los valores más comunes en ubicarse en esta función son size, filly stroke. Valores numéricos solamente de ejemplo
  • 7. De esta manera podemos diferenciar entre Draw y Setup que, el primero se ejecuta continuamente, y que Setup es una función que sólo se ejecuta una vez, o sea es estable. Ambas trabajan en conjunto, como en el siguiente ejemplo: Así es como se verá:
  • 8. Following Ya conocemos lo que realiza Setupy lo que por su parte hace Draw, de esta manera sabemos que podemos mantener un código ejecutándose continuamente y si a esto le sumamos el movimiento del mouse o el presionar alguna tecla para seguir este código continuo, podemos dibujar una estela, líneas o la forma que queramos y hacer que sigan el movimiento del mouse. Para esto es necesario digitar dos nuevas funciones mouseXque contiene las coordenadas X del plano cartesiano y mouseY que contiene las coordenadas Y de dicho plano, y se escriben de la siguiente manera: “ellipse” solo es un ejemplo al igual que los valores numéricos, estos pueden ser cualquiera.
  • 9. Un ejemplo de Setup y de Draw trabajando en conjunto, donde la ellipse se va dibujando continuamente y sigue el mouse: Así se verá:
  • 10. En este otro ejemplo podemos ver como el punto sigue al mouse, y no dibuja, simplemente está como pegado a al puntero. Esto se logra agregando la función Backgrounden Draw, ya que de esta manera el fondo se va repitiendo continuamente, va limpiando la ventana: Así se verá:
  • 11. Existen dos funciones que van en conjunto con mouseX y mouseY, estas son pmouseX y pmouseY, estas permiten dejar constancia de la ubicación del mouse en trazo en general, desde el comienzo. Estas se escriben asi: Un ejemplo: Así se verá:
  • 12. Las variables pmouseX y pmouseY pueden también ser usadas para calcular la velocidad del mouse.Siel Mouse esta moviéndose lentamente, la distancia es chica, pero si el Mouse comienza a moverse rápidamente, la distancia crece. Y esto se logra mediante a la integración de otra función Dist como se muestra en el ejemplo: Así se verá:
  • 13. MAPA Los números son utilizados para dibujar en la pantalla, esto es de gran utilidad para convertir los valores desde un rango de numero de otro. Ej 5-10: Valores de mapa a un rango La variable mouseX es usualmente entre 0 y el ancho de la ventana, pero es posible que desee volver a asignar los valores a un rango diferente de coordenada. Se puedes hacer esto para fabricar cálculos como dividir mouseX para reducir este rango y luego adicionando o sustrayendo un numero para cambiar esto a izquierda o derecha: void setup() { size(140, 90); strokeWeight(12); smooth(); } void draw() { background(232, 246, 5); stroke(90, 232, 12); line(90, 100, mouseX, mouseY); // line stroke(0); float mx = mouseX/2 + 60; line(120, 60, mx, mouseY); // line }
  • 14. La función map() es una manera mas general para hacer este tipo de cambios. Esta conversión de variables desde un rango de número a otro. El primer parámetro es la variable para ser convertida. El segundo y tercer parámetro son los bajos y altos variables, y el cuarto y quinto parámetro son los valores deseados bajos y altos. La función map() oculta las matemáticas detrás de la conversión. Ej 5-11 El mapa con la funcion map() Este ejemplo vuelve a escribir el ejemplo 5-10 usando map() void setup() { size(240, 120); strokeWeight(12); smooth(); } void draw() { background(204); stroke(246, 5, 198); line(120, 60, mouseX, mouseY); // White line stroke(0); float mx = map(mouseX, 0, width, 60, 180); line(120, 60, mx, mouseY); // Black line }
  • 15. La funcion map() hace fácil el código para leer, porque los valores mínimos y máximos son limpiamente escritos como un parámetro. En este ejemplo los valores de mouseX entre 0 y el ancho son convertidos para un numero desde 60 (cuando el mouseX es 0) hasta 180 (cuando mouseX es el ancho). Se podrías encontrar útil la función map en muchos ejemplos a través de este libro.
  • 16.
  • 17. Una estructura de if puede ser usada con los valores mouseX y mouseY para determinar la ubicación del cursor dentro de la ventana. Ubicación
  • 18. Este ejemplo sirve de prueba para ver si el cursor está sobre el lado izquierdo o derecho de una línea y luego mueve la línea hacia el cursor: http://www.openprocessing.org/visuals/checkVisual.php?visualID=12646 Ejemplo 5-15: Encontrar el cursor
  • 19. Usamos la función dist() para obtener distancia desde el centro del círculo hasta el cursor, luego probamos si la distancia es menor que el radio del círculo (ver figura 5-3). Si lo es, nosotros sabemos que estamos adentro. http://www.openprocessing.org/visuals/checkVisual.php?visualID=12647 Ejemplo 5-17: El límite de un rectángulo http://www.openprocessing.org/visuals/checkVisual.php?visualID=12648 Ejemplo 5-16: El límite de un círculo
  • 20. Processing registra cuando cualquier tecla es presionada, así como la última tecla presionada. Para esto, usamos la variable keyPressed. Tipo
  • 21. En este ejemplo, la segunda línea esta dibujada sólo cuando una tecla esta presionada: http://www.openprocessing.org/visuals/checkVisual.php?visualID=12649 Ejemplo 5-18: Pulse una tecla
  • 22. Este ejemplo introduce la función textSize() para un conjunto de medidas de letras, la función textAling() para centrar el texto sobre las coordenadas X, y la función text() para dibujar las letras. http://www.openprocessing.org/visuals/checkVisual.php?visualID=12650 Ejemplo 5-19: Escribe algunas letras
  • 23. En este ejemplo, nosotros probamos para que sea tecleada una H o N. Utilizamos el operador de comparación, el símbolo ==, para ver si el valor del teclado es igual para el carácter que estamos mirando ahora: http://www.openprocessing.org/visuals/checkVisual.php?visualID=12651 Ejemplo 5-20: Comprobar para una tecla específica
  • 24. Muestra como comprobar las teclas de flecha izquierda o derecha para mover un rectángulo: http://www.openprocessing.org/visuals/checkVisual.php?visualID=12652 Ejemplo 5-21: Moverse con la tecla de la flecha.