From Test-Scratch-Wiki

(added an a)
Line 11: Line 11:
  
 
== Exemplos de Uso ==
 
== Exemplos de Uso ==
As this block holds its sprite's X position, it can be used when a script needs to know its sprite's X position. There are many cases of this {{-}} for example, you could use the block to detect how far left or right you are on the screen.
+
Como esse bloco armazena a '''posição X''' do ator, ele pode ser usado num script detectando a posição X do ator. Existem muitos casos disso {{-}} por exemplo, você pode detectar o quão longe o ator está na esquerda ou direita do [[Por:Interface_de_Usuário_do_Scratch#Palco|palco]].
 
<scratchblocks>
 
<scratchblocks>
 
forever
 
forever
Line 18: Line 18:
 
end
 
end
 
</scratchblocks>
 
</scratchblocks>
Another use is setting values based on a movable slider without using Scratch's default slider {{-}} the script sets the value to the slider's X position.
+
Outro uso é usando um slider para mudar a posição sem ser o padrão do Scratch{{-}} O código muda a X para a posição do slider.
  
 
<scratchblocks>set [worms v] to (x position)</scratchblocks>
 
<scratchblocks>set [worms v] to (x position)</scratchblocks>
  
Other common uses are:
+
Outros usos comuns são:
*Comparing the X position with a record to check for movement
+
*Comparando a X com uma gravação para checar movimento
 
<scratchblocks>
 
<scratchblocks>
 
when green flag clicked
 
when green flag clicked
Line 29: Line 29:
 
forever
 
forever
 
if <not <(x_pos prev) = (x position)>> then
 
if <not <(x_pos prev) = (x position)>> then
say [My X position moved!] for (2) secs //if the x position moved, say something
+
say [Minha posição X mudou!] for (2) secs //if the x position moved, say something
 
set [x_pos prev v] to (x position)
 
set [x_pos prev v] to (x position)
 
end
 
end
 
end
 
end
 
</scratchblocks>
 
</scratchblocks>
*Constantly storing a sprite's X movement so it can be re-enacted later
+
*Constantemente armazenar a posição X do ator para que possa reencenar depois
 
<scratchblocks>
 
<scratchblocks>
when green flag clicked //script only works in a sprite!
+
when green flag clicked //O script só funciona em um ator!
 
delete (all v) of [x positions v]
 
delete (all v) of [x positions v]
 
delete (all v) of [y positions v]
 
delete (all v) of [y positions v]
say [Move your mouse and I will reenact the movement!] for (2) secs
+
say [Mova seu mouse e eu refarei seu movimento] for (2) secs
say [Go!] for (1) secs
+
say [!] for (1) secs
repeat (50)//records 50 coordinates at a rate of one for every 0.1 seconds
+
repeat (50)//Grava 50 coordenadas numa quantidade de 1 a cada 0.1 segundos
 
add (mouse x) to [x positions v]
 
add (mouse x) to [x positions v]
 
add (mouse y) to [y positions v]
 
add (mouse y) to [y positions v]
Line 47: Line 47:
 
end
 
end
 
set [counter v] to [1]
 
set [counter v] to [1]
say [I will reenact it for you now!] for (2) secs
+
say [Agora irei refazer!] for (2) secs
 
repeat (50)
 
repeat (50)
 
go to x:(item (counter) of [x positions v]) y:(item (counter) of [y positions v])
 
go to x:(item (counter) of [x positions v]) y:(item (counter) of [y positions v])
Line 54: Line 54:
 
end
 
end
 
</scratchblocks>
 
</scratchblocks>
*Changing a sprite's speed based on its [[Eng:Coordinate System|coordinates]]
+
*Mudando a velocidade do ator baseado em suas [[Eng:Coordinate System|coordenadas]]
  
 
==Workaround==
 
==Workaround==

Revision as of 12:52, 14 July 2021

Este artigo é sobre o bloco. Para mais informações sobre o valor que este bloco reporta, veja Posição X (valor).
Posição X
(posição x :: motion)


Tipo: Reportador
Categoria: Movimento

O bloco Posição X é um bloco de Movimento e um bloco Reportador. Este bloco informa a posição X de um ator. Este bloco pode ser exibido no Palco.

Exemplos de Uso

Como esse bloco armazena a posição X do ator, ele pode ser usado num script detectando a posição X do ator. Existem muitos casos disso — por exemplo, você pode detectar o quão longe o ator está na esquerda ou direita do palco.

forever
  wait until <(x position) > [220]>
  change [Hits v] by (1)
end

Outro uso é usando um slider para mudar a posição sem ser o padrão do Scratch — O código muda a X para a posição do slider.

set [worms v] to (x position)

Outros usos comuns são:

  • Comparando a X com uma gravação para checar movimento
when green flag clicked
set [x_pos prev v] to (x position)
forever
if <not <(x_pos prev) = (x position)>> then
say [Minha posição X mudou!] for (2) secs //if the x position moved, say something
set [x_pos prev v] to (x position)
end
end
  • Constantemente armazenar a posição X do ator para que possa reencenar depois
when green flag clicked //O script só funciona em um ator!
delete (all v) of [x positions v]
delete (all v) of [y positions v]
say [Mova seu mouse e eu refarei seu movimento] for (2) secs
say [Vá!] for (1) secs
repeat (50)//Grava 50 coordenadas numa quantidade de 1 a cada 0.1 segundos
add (mouse x) to [x positions v]
add (mouse y) to [y positions v]
wait (0.1) secs
end
set [counter v] to [1]
say [Agora irei refazer!] for (2) secs
repeat (50)
go to x:(item (counter) of [x positions v]) y:(item (counter) of [y positions v])
wait (0.1) secs
change [counter v] by (1)
end
  • Mudando a velocidade do ator baseado em suas coordenadas

Workaround

Main article: List of Block Workarounds

The block can be simply replicated with the following block:

([x position v] of [wanted sprite v])

See Also

Cookies help us deliver our services. By using our services, you agree to our use of cookies.