Discuss Scratch

djdolphin
Scratcher
1000+ posts

Snapin8r2 - Scratch 2.0 -> Snap! converter

For a while I've been working on a rewrite of Hardmath123's Snapin8r that's cleverly called Snapin8r2. It converts Scratch 2.0 projects to Snap! and contains improvements over the original such as:
  • less bugs
  • converting more stuff
  • skipping and warning about unsupported blocks instead of making you search through the project and remove them manually

I've finally reached my goal of getting it to convert Scratchception (Scratch version, Snap! version), and the Snap! version sort of works with some tweaks. Yay.

There are bound to be bugs, so if you find any, please report them here.

!
CatsUnited
Scratcher
1000+ posts

Snapin8r2 - Scratch 2.0 -> Snap! converter

Very nice name. What about a Snap! -> Scratch converter? It could be made as soon as someone figures out how to replicate OOP in Scratch.

Also, what else does it convert?

bottom text
Ethan_1
Scratcher
100+ posts

Snapin8r2 - Scratch 2.0 -> Snap! converter

Very cool as usual @djdolphin. I wonder, since Snap! is pure js, does snapception mean Scratch in JS. o.0 Also, the snap version had a bad script and crashed on Firefox.

Also, the Snap! version didn't update the input spites, so the movement blocks inputs showed up even after changing to math blocks.

Last edited by Ethan_1 (Oct. 17, 2015 04:50:25)

CatsUnited
Scratcher
1000+ posts

Snapin8r2 - Scratch 2.0 -> Snap! converter

Ethan_1 wrote:

Very cool as usual @djdolphin. I wonder, since Snap! is pure js, does snapception mean Scratch in JS. o.0 Also, the snap version had a bad script and crashed on Firefox.

Also, the Snap! version didn't update the input spites, so the movement blocks inputs showed up even after changing to math blocks.
A Scratch equalivent is easier to make in pure JS than in Scratch. Snap! is basically Javascript but with a layer of blocks and a GUI, including many of the Scratch ones.

bottom text
djdolphin
Scratcher
1000+ posts

Snapin8r2 - Scratch 2.0 -> Snap! converter

Ethan_1 wrote:

Very cool as usual @djdolphin. I wonder, since Snap! is pure js, does snapception mean Scratch in JS. o.0 Also, the snap version had a bad script and crashed on Firefox.

Also, the Snap! version didn't update the input spites, so the movement blocks inputs showed up even after changing to math blocks.
Yeah, it doesn't work very well. I'm assuming it's due to differences between Snap! and Scratch, but it could also be Snapin8r2's fault. I'm going to have to take a closer look later.

!
Ethan_1
Scratcher
100+ posts

Snapin8r2 - Scratch 2.0 -> Snap! converter

CatsUnited wrote:

A Scratch equalivent is easier to make in pure JS than in Scratch. Snap! is basically Javascript but with a layer of blocks and a GUI, including many of the Scratch ones.

I know, I was just thinking it would be funny if the furthest along port of Scratch used Scratchception. not that anyone would actually use it for production ready code. I'm hoping people will continue working on Pixie more, but sigh, oh well.
comp09
Scratcher
1000+ posts

Snapin8r2 - Scratch 2.0 -> Snap! converter

When I try to load the Snap version of Scratchception, my browser freezes and eats up tons of RAM. Nice try, though.


Visit the website of Andrew Sun!


ChocolatePi
Scratcher
1000+ posts

Snapin8r2 - Scratch 2.0 -> Snap! converter

CatsUnited wrote:

Very nice name. What about a Snap! -> Scratch converter? It could be made as soon as someone figures out how to replicate OOP in Scratch.

Also, what else does it convert?
Snap! doesn't have OOP… Theoretically you can using lambdas (the same way you can in Scheme), but if you were just to make a compiler I'm sure you could work this around somehow… I'm actually working on a Snap! to Scratch converter, but it's still in the very early stages of development.
djdolphin
Scratcher
1000+ posts

Snapin8r2 - Scratch 2.0 -> Snap! converter

comp09 wrote:

When I try to load the Snap version of Scratchception, my browser freezes and eats up tons of RAM. Nice try, though.
Snap! doesn't seem to handle large projects very well.

!
CatsUnited
Scratcher
1000+ posts

Snapin8r2 - Scratch 2.0 -> Snap! converter

ChocolatePi wrote:

Snap! doesn't have OOP… Theoretically you can using lambdas (the same way you can in Scheme), but if you were just to make a compiler I'm sure you could work this around somehow… I'm actually working on a Snap! to Scratch converter, but it's still in the very early stages of development.
Okay, so no OOP, but it is possible using lambda? I did remember someone managing to replicate OOP in Snap! i wonder if you could do that in Scratch (or at least lambdas (with some JSON editing )).

bottom text
liam48D
Scratcher
1000+ posts

Snapin8r2 - Scratch 2.0 -> Snap! converter

CatsUnited wrote:

ChocolatePi wrote:

Snap! doesn't have OOP… Theoretically you can using lambdas (the same way you can in Scheme), but if you were just to make a compiler I'm sure you could work this around somehow… I'm actually working on a Snap! to Scratch converter, but it's still in the very early stages of development.
Okay, so no OOP, but it is possible using lambda? I did remember someone managing to replicate OOP in Snap! i wonder if you could do that in Scratch (or at least lambdas (with some JSON editing )).

I would have wrote:

With JavaScript? Easy peasy, I did that. xleroy was using my library (see the Snap! forums) to do some pretty simple OOP. If you implemented a set-property block (which is really easy as well) you could make a whole object oriented program.

Without JavaScript? Yes, but think of it as though it doesn't have objects. Instead, it has classes. Here's a functional example I made: LINKSKYDOODLES.

Oops, you mean inside of Scratch! I'm not sure. Haha. Sorry.

202e-202e-202e-202e-202e UNI-CODE~~~~~
angemed112_1
New to Scratch
1 post

Snapin8r2 - Scratch 2.0 -> Snap! converter

Hey! Does anyone know how to convert my Snap Projects to Scratch 3.0 ?
nate55543
Scratcher
17 posts

Snapin8r2 - Scratch 2.0 -> Snap! converter

How do you convert it I checked around but could not find anything … nvm

Last edited by nate55543 (May 7, 2020 07:16:12)

Powered by DjangoBB