From Test-Scratch-Wiki
Set Rotation Style () | |
![]() | |
Category | Motion |
Type | Stack |
Introduced in | 2.0 |
The Set Rotation Style () block is a Motion block and a Stack block. The block changes the Rotation Style of the sprite in-project. Regardless of the style, the variable direction will still change.
Options
- Main article: Rotation Style
There are three options for this block: all around, left-right, and do not rotate. All around means the sprite can face any of the 360 degrees. It is the default. Left-right means the sprite can only face left or right, and any other directions are rounded. The sprite will also be horizontally flipped when facing left in the left-right style. Do not rotate means that the sprite always faces as in 90°.
Example Uses
This block can be used if a sprite must move in different manners throughout the project. Here are a few possible uses:
- Animations
set rotation style [all around v] point in direction (-90 v) say [Look! I'm upside-down!] for (2) secs say [This is cool! I feel like a bat!] for (2) secs set rotation style [left-right v] say [And now I'm on the ground again.] for (2) secs
- Allowing a person to look left or right
when gf clicked forever if <mouse down?> then set rotation style [all around v] point towards [mouse pointer v] else if <key [left arrow v] pressed?> then set rotation style [left-right v] point in direction (-90 v) end if <key [right arrow v] pressed?> then set rotation style [left-right v] point in direction (90 v) end end
- Forcing a sprite not to turn while paused
when I receive [game paused v] set rotation style [do not rotate v]
In Scratch 1.x
Despite not available, this can be added via Shift-Click-R.
Scratch-Objects => ScratchSpriteMorph => instance => motion ops
setRotationStyleTo: t1
rotationStyle _ t1
^ self
Then, Scratch-Objects => ScratchSpriteMorph => class => block specs => blockSpecs
#- ('set rotation style %n' #- #setRotationStyleTo: 2)
The block will appear as follows:
set rotation style (2)