The Sulfurous Player is a modification of the Phosphorus Player, and was designed to perform better and deliver more features. Some long standing bugs of the Phosphorus Player were also fixed.
Under "Package" and "Embed", there are new options to specify the resolution of the project. The options include standard resolution (480x360), double resolution (960x480), and custom resolution. Especially the double resolution option can be useful for Scratch projects that are designed to use the sub pixel rendering of Scratch 2.0. Larger, custom resolutions should only be used for pen, vector, and specially designed projects. (See High resolution projects)
Several Graphic Effects have been implemented. However they are quite slow because they are calculated using the CPU. In the future, it may be possible to render these effects using the GPU. The following effects are implemented:
These features are planned and will be implemented according to usefulness.
- All Graphic Effects
- Cloud Variables (Although interaction with the Scratch cloud variables is not possible, using cookies would be plausible.)
- Stamping on different layers.
- WebGL rendering. This would increase execution and rendering speed even more.
- Stereo audio, with L/R balance.
- List rendering.
High resolution projects
The Sulfurous Player allows resolutions of up to 16k. Some tricks are needed to actually use the full resolution:
The Sulfurous coordinate plane always has a size of 480x360 points. This means that general positioning of sprites works exactly like in the Flash Player. Furthermore, Scratch Projects designed specifically for Phosphorus should theoretically still work in the Flash Player. If a specific resolution is to be used to its full extent, the corresponding Sprite/Costume needs to be shrunk until the size of its pixels matches that of the Sulfurous Player. Thus, a Sprite needs to be shrunk to 1/4 of its original size if it needs to be used in a 1920x1440 pixel environment (1920 / 480 = 4). The Sprite's pixels are now equivalent to the Player's pixels. The same applies for pen: A pen size of 0.25 will match the size of one pixel at this resolution. Small position changes are described using appropriate decimal numbers.
Vector images do not need to be adjusted, as they will keep their "infinite" resolution, as would be expected.
Example for a high resolution project
define render clear set[xResolution v]to go to x:(-240) y:(-180) set size to((48000)/(xResolution))% //48000/480 = 100% repeat ((2)*((xResolution)/(480))) //Picture fits on stage twice repeat ((2)*((xResolution)/(480))) stamp change x by((256)*((480)/(xResolution))) end change y by((256)*((480)/(xResolution))) set x to(-240) end
Example of a project running in Sulfurous
Click here for a packaged example project.
- Costume changes now work correctly
- Almost all audio files are now supported
- Touchscreen and mouse support for hybrid devices.
- Bitmaps and vector images are displayed at high resolutions without any loss of quality. (Of course bitmaps are still pixelated, but anti aliasing has been deactivated.)
- This is also true for bitmaps embedded in SVGs.
- Pen does not draw while costume is dragged.
- Empty SVGs are no longer causing problems.