(Events.)
m (Just fixing some wording mistakes.)
 
(36 intermediate revisions by 23 users not shown)
Line 1: Line 1:
 
{{block
 
{{block
 
| name      = When I Receive ()
 
| name      = When I Receive ()
| image      = File:When_I_Receive_().png
+
| image      = when I receive [message1 v]
| imagewidth = 134
+
| sb        = 3.0
| category  = [[Control Blocks|Control]]/[[Event Blocks|Event]]
+
| category  = [[Event Blocks|Event]]
 
| type      = [[Hat Block|Hat]]
 
| type      = [[Hat Block|Hat]]
 
| default    = First [[broadcast]] (alphabetized)
 
| default    = First [[broadcast]] (alphabetized)
 +
| added      = [[Scratch 0.1|0.1]]
 
}}
 
}}
The '''When I Receive ()''' [[Blocks|block]] is a [[Control Blocks|Control block]] and a [[Hat Block|Hat block]]. [[Scripts]] that wear this block will be invoked once the specified [[broadcast]] has been sent by a calling script.
+
The '''when I receive ()''' block is a [[Hat Block|hat block]] and an [[Events Blocks|events block]]. The block activates its script when the specified [[broadcast]] has been sent by a calling script.
 +
 
 +
If the same message is sent again while the script is still running, the script will restart without reaching the blocks at the end. Using the [[Broadcast () and Wait (block)|Broadcast () and Wait]] block can help to make a message script run over and over again.
  
 
==Example Uses==
 
==Example Uses==
[[Broadcasts]] are used to invoke scripts when certain evaluations are met {{-}} for scripts to activate once the broadcast is sent, those scripts must wear the '''When I Receive ()''' block. Some common uses are:
+
[[Broadcasts]] are used to invoke scripts when certain evaluations are met; for scripts to activate once the broadcast is sent, those scripts must wear the When I Receive () block. When a sprite activates a script from receiving a broadcast, it's current clones will also receive the broadcast and activate the same script individually. Some common uses are:
 
*Preparing a change in the [[project]]
 
*Preparing a change in the [[project]]
  
Line 16: Line 19:
 
when I receive [Failure v]
 
when I receive [Failure v]
 
show
 
show
wait (3) secs
+
wait (3) seconds
 
change [color v] effect by (25)
 
change [color v] effect by (25)
stop all
+
stop [all v]
 
</scratchblocks>
 
</scratchblocks>
  
 
*Hiding select sprites when a certain condition is met under a particular evaluation
 
*Hiding select sprites when a certain condition is met under a particular evaluation
  
<scratchblocks>when I receive [broadcast v]
+
<scratchblocks>
hide</scratchblocks>
+
when I receive [broadcast v]
 +
hide
 +
</scratchblocks>
  
 
*When a scene must be set
 
*When a scene must be set
  
<scratchblocks>when I receive [next background v]
+
<scratchblocks>
next costume</scratchblocks>
+
when I receive [next background v]
 +
next costume
 +
</scratchblocks>
  
*Effective communication with scripts or [[Sprite|sprites]]
+
*Effective communication with scripts or [[sprite]]s
  
<scratchblocks>when gf clicked
+
<scratchblocks>
say [Hi!] for (1) secs
+
when green flag clicked
broadcast [communicate v]</scratchblocks>
+
say [Hi!] for (1) seconds
 +
broadcast [communicate v]
 +
</scratchblocks>
  
<scratchblocks>when I receive [communicate v]
+
<scratchblocks>
say [Hi!] for (1) secs</scratchblocks>
+
when I receive [communicate v]
 +
say [Hi!] for (1) seconds
 +
</scratchblocks>
 +
 
 +
*Creating [[Recursion#Recursion in Scratch 1.4|tail recursion]]
 +
 
 +
<scratchblocks>
 +
when I receive [run v]
 +
. . .
 +
broadcast [run v]
 +
</scratchblocks>
 +
 
 +
*Winning a game
 +
 
 +
<scratchblocks>
 +
when I receive [win v]
 +
say [You win!] for (2) seconds
 +
</scratchblocks>
  
 
==See Also==
 
==See Also==
Line 44: Line 70:
 
*[[Broadcast () and Wait (block)|Broadcast () and Wait]]
 
*[[Broadcast () and Wait (block)|Broadcast () and Wait]]
 
*[[Broadcast]]
 
*[[Broadcast]]
{{Control Blocks}}
+
{{Events Blocks}}
[[Category:Control Blocks]]
+
[[Category:Events Blocks]]
 +
[[de:Wenn ich () empfange (Block)]]
 +
[[ja:() を受け取ったとき (ブロック)]]
 +
[[ru:Когда я получу ()]][[hu:() üzenet érkezésekor (blokk)]]

Latest revision as of 00:30, 3 March 2021

When I Receive ()
when I receive [message1 v]
Category Event
Type Hat
Introduced in 0.1

The when I receive () block is a hat block and an events block. The block activates its script when the specified broadcast has been sent by a calling script.

If the same message is sent again while the script is still running, the script will restart without reaching the blocks at the end. Using the Broadcast () and Wait block can help to make a message script run over and over again.

Example Uses

Broadcasts are used to invoke scripts when certain evaluations are met; for scripts to activate once the broadcast is sent, those scripts must wear the When I Receive () block. When a sprite activates a script from receiving a broadcast, it's current clones will also receive the broadcast and activate the same script individually. Some common uses are:

when I receive [Failure v]
show
wait (3) seconds
change [color v] effect by (25)
stop [all v]
  • Hiding select sprites when a certain condition is met under a particular evaluation
when I receive [broadcast v]
hide
  • When a scene must be set
when I receive [next background v]
next costume
  • Effective communication with scripts or sprites
when green flag clicked
say [Hi!] for (1) seconds
broadcast [communicate v]
when I receive [communicate v]
say [Hi!] for (1) seconds
when I receive [run v]
. . .
broadcast [run v]
  • Winning a game
when I receive [win v]
say [You win!] for (2) seconds

See Also

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