From Test-Scratch-Wiki
Posición en y | |
(posición en y) | |
Categoría | Movimiento |
Forma | Valor |
El bloque posición en y es un bloque de movimiento y un bloque valor. El bloque contiene la posición en y de su objeto. El bloque puede ser mostrado con un monitor de escenario.
Usos de ejemplo
Algunos usos comunes del bloque posición en y son:
- Activar acciones basándose en la posición de un objeto en la pantalla
por siempre esperar hasta que <(posición en y) > (150)> sumar a [aciertos v] (1) end
- Establecer valores de una variable mediante un deslizador diferente al deslizador de Scratch, siendo el valor de la variable la posición en y del deslizador
dar a [variable v] el valor (posición en y)
- Comparar la posición en y con un registro previo para detectar movimiento
al presionar bandera verde dar a [posición en y previa v] el valor (posición en y) fijar modo de arrastre a [arrastrable v] // hace que el objeto sea más fácil de mover por siempre si <no <(posición en y previa) = (posición en x)>> entonces decir [¡Me moví!] durante (2) segundos // si la posición en y cambió, decir algo dar a [posición en y previa v] el valor (posición en y) end end
- Guardar el movimiento en y de un objeto para poder reproducirlo después
al presionar bandera verde // el código solo funciona en un objeto eliminar todos de [posiciones x v] eliminar todos de [posiciones y v] decir [¡Mueve tu ratón y reproduciré el movimiento!] durante (2) segundos decir [¡Ya!] durante (1) segundos repetir (50) // guarda 50 coordenadas a un ritmo de una cada 0.1 segundos ir a (puntero del ratón v) añadir (posición en x) a [posiciones x v] añadir (posición en y) a [posiciones y v] esperar (0.1) segundos end dar a [contador v] el valor (1) decir [¡Ahora reproduciré tus movimientos!] durante (2) segundos repetir (50) ir a x: (elemento (contador) de [posiciones x v]) y: (elemento (contador) de [posiciones y v]) esperar (0.1) segundos sumar a [contador v] (1) end
- Cambiar la velocidad de un objeto basándose en sus coordenadas
al presionar bandera verde por siempre sumar a y (posición en y) end
Código alternativo
El bloque puede ser replicado encontrando la posición del sprite mediante el bloque sensor () de ():
([posición en y v] de (objeto deseado v))
Sin embargo, como esto requiere el uso del bloque ([ v] de ( v))
no es posible usarlo para conseguir la posición en y del objeto seleccionado. Por ello, ha de usarse desde otro objeto, o usar el siguiente código alternativo:
([posición en y v] de (unir [objeto deseado] []))