Scratch imposes limits on both the minimum and maximum size of a sprite which depend on the dimensions of its current costume. It is possible to go beyond both limits and this tutorial shows how.
| Going beyond the limits may result in unexpected behavior with no guarantee that the sprite will look the same across all devices.[1] |
Tutorial
Large Size
To make a sprite larger than it is normally possible, create a costume with a width and height of 0. This is achieved by editing an empty canvas in vector mode (delete all shapes or use the eraser tool).
The code is as simple as switching to the 0x0 costume and setting the size:
switch costume to (blank v) // this is the 0x0 costume which allows a large size set size to (10000)% // set size to a large value switch costume to (costume1 v) // switch to the costume you want to see
This can be made into a custom block script that remembers the current costume and switches back after setting the size:
define set large size (size) set [costume v] to (costume [number v]) // this remembers the costume number switch costume to (blank v) set size to (size)% switch costume to (costume) // switch costume back
This allows sizes between 100% and Infinity.
Small Size
To make a sprite smaller than normally possible, create a large vector costume. This can be achieved by drawing a rectangle shape that is the size of the screen or larger.
The code is as simple as switching to the large costume and setting the size:
switch costume to (large v) // this is the large costume which allows a small size set size to (1)% // set size to a small value switch costume to (costume1 v) // switch to the costume you want to see
Custom block:
define set small size (size) set [costume v] to (costume [number v]) // this remembers the costume number switch costume to (large v) set size to (size)% switch costume to (costume) // switch costume back
Small and Large Size
The above two methods can be combined so that a sprite can be set to both small and large sizes. This requires having both a small and large costume.
define set size (size) set [costume v] to (costume [number v]) // this remembers the costume number if <(size) < [100]> then switch costume to (large v) else switch costume to (blank v) end set size to (size)% switch costume to (costume) // switch costume back