Activa JavaScript para disfrutar de los vídeos de la Mediateca.
Rebotes en processing - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
Explicación de ayuda para conseguir que objetos simples "reboten" en processing.
Bueno, en este vídeo vamos a ver cómo podemos hacer que los objetos en processing, además de moverse, que ya lo habíamos visto en la práctica anterior, reboten o hagan el efecto de rebote, de ir y volver.
00:00:00
Entonces, partimos del ejemplo de la práctica anterior en el que teníamos una elipse que se movía hacia la derecha porque incrementábamos la variable x que marcaba una de sus posiciones del centro.
00:00:12
y ahora vamos a ver cómo hacemos para que esa elipse que ahora mismo desaparece y se va de la pantalla,
00:00:25
cómo hacemos que vuelva a aparecer desde el inicio.
00:00:34
Entonces lo que hay que añadir es un condicional que es la palabra clave if
00:00:36
y dentro de ese condicional ponemos la condición que queremos que se cumpla.
00:00:40
En este caso queremos que se cumpla que cuando x sea exactamente igual a 600 la x vuelva a ser 0
00:00:44
Y con eso conseguimos que la elipse una vez que se va por la derecha vuelve a aparecer por la izquierda.
00:00:50
En este caso tendría que darse justo la circunstancia de que x coge el valor exacto de 600.
00:00:57
Si lo incrementamos de 7 en 7, por ejemplo, no nos llega la suma nunca a 600 y la elipse nos desaparece de la pantalla.
00:01:03
Para eso, en lugar de poner que la condición sea x exactamente igual a 600, podemos poner que x sea mayor que 600
00:01:12
y con eso solucionamos el problema.
00:01:19
Así cuando llegue al número siguiente superior a 600,
00:01:22
pues la x volverá a ser 0 y volverá a aparecer por la izquierda.
00:01:25
Vale, vamos a cambiar ahora, por ejemplo, también el tamaño.
00:01:30
Ponemos una variable que la vamos a llamar t
00:01:34
y se lo vamos a sumar al valor del radio horizontal de la elipse.
00:01:36
Inicialmente va a ser 0, así que va a ser una elipse igual que la que teníamos antes
00:01:42
y en cada ciclo le vamos a sumar 1, que se ponía T++, era una de las formas de poner incrementa 1.
00:01:45
Queremos que cuando desaparezca por la derecha la elipse vuelva a ser como era al principio.
00:01:55
Entonces ahora como tengo que poner dos instrucciones que dependen del condicional,
00:02:01
esas dos instrucciones deben ir entre llaves.
00:02:06
Antes no nos hacía falta porque solo teníamos una instrucción que dependía del condicional,
00:02:08
pero cuando tenemos más de una tienen que ir metidas entre una llave abierta y una llave cerrada.
00:02:12
Ahora vemos como la elipse crece y una vez que desaparece por la pantalla vuelve a aparecer con su tamaño inicial.
00:02:18
Vamos a ver ahora cómo hacemos que rebote.
00:02:28
Para eso vamos a utilizar lo que se llama una variable booleana, que son variables que solo pueden tener dos valores,
00:02:30
valor verdadero, true o valor falso.
00:02:35
Entonces inicialmente cuando la elipse está de ida, en el camino de ida, voy a poner que su valor inicial es verdadero.
00:02:38
Voy a quitar esto de la t porque sería más complicado también cambiar el tamaño.
00:02:46
De momento solo vamos a hacer que rebote y mantenga la posición.
00:02:50
Así que borro todo lo que tiene que ver con la variable t esta que habíamos puesto para el tamaño
00:02:54
y voy a incrementar un poco de menos en menos para que vaya más lento.
00:02:58
Vale, entonces, una de las cosas que voy a poner es que cuando acabe la ida de la elipse, cuando llegue a la derecha, la variable que al principio era true, verdadero, estaba yendo, era verdadero que estaba yendo, pues ahora va a ser falso cuando llega a 600.
00:03:02
Pero además voy a poner que si la variable id es verdadero, que eso se puede poner simplemente if id, no hace falta poner if id igual igual true, aunque también valdría, que quiero que haga cuando la variable id es verdadera, o sea, cuando la elipse está yendo hacia la derecha.
00:03:21
Pues quiero que incremente la posición en 2 y que si llega a 600, cambie el valor de ida a falso.
00:03:40
De esta forma voy a hacer que cuando la elipse esté yendo, vaya incrementando el valor de la X.
00:03:47
Voy a copiar ahora para la vuelta estas instrucciones que dependen del valor verdadero de ida.
00:03:55
Bueno, pito el incremento aquí porque ya lo he metido dentro de la condicional.
00:04:02
Copio y lo pego.
00:04:06
y ahora voy a poner cuando sea lo contrario de ida que se pone con una exclamación hacia abajo
00:04:08
también podría poner cuando ida es igual o igual a falso
00:04:13
lo que quiero es que en vez de sumar reste para que se mueva hacia el otro lado
00:04:15
y que cuando llegue al borde izquierdo de la pantalla
00:04:19
o sea cuando la x sea más pequeño que voy a poner 30
00:04:24
porque como la elipse tiene ese radio de 60
00:04:28
pues si pusiera 0 me desaparecería media elipse
00:04:31
De hecho vamos a verlo como a la derecha
00:04:35
Cuando llegue al borde de la derecha me va a desaparecer la elipse
00:04:39
Porque hasta que no llegue a 600 va a desaparecer un trozo de la elipse
00:04:43
Y sin embargo a la izquierda va a parecer mejor que rebota
00:04:46
Porque he puesto el límite en 30 y como la elipse se está moviendo desde el centro
00:04:50
Que está a 30 del borde, por eso queda mejor
00:04:54
Así que va a quedar mejor si en vez de 600 pongo 570
00:04:58
para que la elipse
00:05:01
haga ese efecto rebote
00:05:04
vale, pues para eso se utilizan
00:05:05
es uno de los usos que tienen las variables booleanas
00:05:10
para cambiar de verdadero
00:05:12
a falso, entonces estoy detectando
00:05:14
con esa variable
00:05:16
si estoy yendo o estoy volviendo
00:05:16
porque necesito detectar si va o vuelve
00:05:19
para sumar o para restar
00:05:21
vale, de hecho os acordáis de la
00:05:23
función println
00:05:25
para que veamos como a la ida
00:05:27
el valor de ida es verdadero, es true
00:05:29
y a la vuelta, cuando hemos cambiado el valor
00:05:31
va a ser falso, entonces nos permite controlar
00:05:35
el movimiento, true mientras va y falso mientras vuelve
00:05:39
vale, va más rápido porque he incrementado
00:05:44
de 5 en 5 a la ida
00:05:48
y bueno, eso es todo, ahora ya sabéis hacer rebotes
00:05:49
- Subido por:
- Inmaculada M.
- Licencia:
- Reconocimiento - No comercial - Compartir igual
- Visualizaciones:
- 541
- Fecha:
- 7 de enero de 2021 - 13:17
- Visibilidad:
- Público
- Centro:
- IES PROFESOR JULIO PÉREZ
- Duración:
- 06′ 04″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1024x576 píxeles
- Tamaño:
- 141.51 MBytes