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] []))