Mröw
Write Scratch projects in Gleam.
import mroew/blocks/looks
import mroew/blocks/events
import mroew/blocks/ops
import mroew/project
import mroew/sprite
pub fn main() {
project.project(stage())
|> project.add_sprite(sprite1())
|> project.export("project.sb3")
}
fn stage() {
sprite.sprite("Stage")
|> sprite.costume("Blank", "./assets/blank.svg", 0, 0)
}
fn sprite1() {
sprite.sprite("Sprite1")
|> sprite.costume("Scratch Cat", "./assets/scratchCat.svg", 80, 91)
|> sprite.blocks(
events.on_flag()
|> looks.say_timed(ops.string("Hello, world!"), ops.int(2)),
)
}
Documentation
Coming soon!
Usage
- Install Gleam and Git if you haven’t already.
- Create a Gleam project:
gleam new my-scratch-project
- Delete the
.github
andtest
folders. - Add Mröw as a submodule:
git submodule add https://github.com/mybearworld/mroew.git
- Set your
gleam.toml
to:
name = "my-scratch-project"
version = "1.0.0"
target = "javascript"
[dependencies]
gleam_stdlib = "~> 0.34 or ~> 1.0"
mroew = { path = "./mroew" }
- Create your Mröw project in
src/my-scratch-project.gleam
! - To create the sb3 file, run
gleam run
. - (Recommended) Add sb3 files to the gitignore:
*.sb3
- If you want to update Mröw, run this:
git submodule update --remote
To do
- Variables/lists
- Custom blocks - for now you can just make a function