Variables are simply values; they can't create blocks
Broadcasts are local to each Scratch project (unless you use Mesh), and all sprites and the Stage will receive them.
Offline
broadcasting is way of making other things do something
like lets say when a sprite moves you want the other sprite to do something
broadcast "whatever" and then for the other sprite when i receive "whatever" do this
for variables those are numbers.
a good example would be health.
and mesh is a way of connecting two local ips to run a project simultaneously.
Offline
You can read about Mesh on the Scratch Wiki btw
Here
Offline
Variables
One use for a variable is to keep track of lives. You could put this script:
When green flag clicked
Set 'lives' to 5
Forever
If touching enemy
Change 'lives' by -1
Wait until not touching enemy
End if
If lives=0 or lives<0
Stop all
End if
End forever
Once you get the hang of it, you can change the stop all bit to a play again screen or something like that.
Broadcasts
Broadcasts send a message to all other sprites, telling them to do something.
If you had two sprites, and you wanted sprite2 to move, but only when sprite1 is clicked, then you would put this script on sprite1:
When sprite1 clicked
Broadcast move
Move 10 steps
And then this scripts on sprite 2:
When I receive move
Move 10 steps
Hope I helped!
Offline
a broadcast is a way to tell all sprites(or just one) that something has happened... example...
[blocks]
<when green flag clicked><broadcast[ hi ]
[/blocks]
then for a different sprite,
[blocks]
<when I receive[ hi ]<say[ hi ]for( 1 )secs>
[/blocks]
hope that helps
Offline
A broadcast can't be "seen"; only sensed by the program.
From there you could have the program do something though.
Offline