Discuss Scratch

Seil
Scratcher
3 posts

Mirroring and rotating a sprite

One feature I would find very useful is a way to have the ability to use both the ‘left-right’ and ‘all around’ rotation style at the same time, so that an effect like this can be easily achieved:



Currently, you aren't able to left-right flip a sprite and be able to rotate it. The only workaround I know of is making two almost identical costumes, one just horizontally flipped. In some situations, like the one I happen to be in with the current project I'm working on, you may need several costumes that you want to create this effect with, and making horizontally flipped duplicates for each costume isn't worth compromising project file size, in my opinion… Assets build up pretty fast, loading times even faster.

I was thinking that instead of pointing a sprite in either -90 or 90 degrees to face left or right, a new Motion block is added. Following the Scratchblocks syntax, it could be called something like "flip in direction “ or ”mirror in direction “, with two choices: left and right. Then you could remove the ‘left-right’ option from the ”set rotation style“ block, and maybe just have ‘rotate’ and ‘don’t rotate' as the options. (Or rename the block ”turn rotation ", ‘on’ and ‘off’.)

Now, whether you want your sprite to rotate or not, you still have the power to horizontally flip your sprite whenever and wherever you want. So you could say…
pointindirection90mirrorindirectionleft new blockturn30degrees
…and it will appear like the 3rd graphic in the image above. Note, by the way, that the arrow in the turn block is pointing CLOCKWISE… if a sprite is flipped, it would make sense, or at least seem simpler, for its rotation to be flipped as well, since the image, as it appears after flipping, should be rotated. Also, vertical flipping could be just as useful as horizontal flipping, with the addition of ‘up’ and ‘down’ to the flip/mirror block.

I don't see complexity becoming an issue for beginners. I feel like this change would even make it a little easier to understand, for people of all skills. Of course, this will probably break the semantics of some projects, but that's an easy fix, and overall this will add more flexibility to rotation in particular, and make the effect that I've illustrated easily possible, without the cost of unnecessary costumes.

What do you guys think?

Last edited by Seil (Sept. 7, 2014 09:25:46)

Dreamo
Scratcher
500+ posts

Mirroring and rotating a sprite

Support good idea
Blueinkproductions
Scratcher
1000+ posts

Mirroring and rotating a sprite

Support. This makes a lot of sense.
Firedrake969
Scratcher
1000+ posts

Mirroring and rotating a sprite

SUPPORT
stickfiregames
Scratcher
1000+ posts

Mirroring and rotating a sprite

Support, but the left-right style should be kept in because there is no easy replacement.
RandomPerson1789
Scratcher
100+ posts

Mirroring and rotating a sprite

support100%
Seil
Scratcher
3 posts

Mirroring and rotating a sprite

Thanks everyone.

stickfiregames wrote:

Support, but the left-right style should be kept in because there is no easy replacement.
If this new block were to be added, the left-right style could easily be implemented, since basically all left-right rotation does is this:
setrotationstyledon't rotateforeverifdirection<0thenmirrorindirectionleftelsemirrorindirectionright
Pretty easy replacement. If you're talking about projects breaking because of the original left-right style becoming obsolete, I can understand that. And maybe they could leave it in for a while to let whoever needs it get adjusted, then remove it after a week or so… It shouldn't be too long.
stickfiregames
Scratcher
1000+ posts

Mirroring and rotating a sprite

I'm talking about scripts becoming obsolete. They would have to be replaced with your workaround. It would be even more complicated now that rotation styles can change while a project is running, because the wokraround script would have to only run when the (old) rotation style is left-right.
RPFluffy
Scratcher
1000+ posts

Mirroring and rotating a sprite

Total Kiwi!
Unlike others it makes sense!
TheHockeyist
Scratcher
1000+ posts

Mirroring and rotating a sprite

Support. Perhaps the icon could be the double arrow surrounded by the circular arrow?
JonathanSchaffer
Scratcher
1000+ posts

Mirroring and rotating a sprite

support.
rui_mac
Scratcher
61 posts

Mirroring and rotating a sprite

Support.
Inreal49
Scratcher
100+ posts

Mirroring and rotating a sprite

supportthis post
pvz_pro
Scratcher
500+ posts

Mirroring and rotating a sprite

no support, just copy the costume and flip it. if you want it to move back, do this:
move-10steps
theliferules9
Scratcher
2 posts

Mirroring and rotating a sprite

it's easy. Just put point toward a hidden sprite…
theliferules9
Scratcher
2 posts

Mirroring and rotating a sprite

pointtowards
infusedmik
Scratcher
2 posts

Mirroring and rotating a sprite

support
Pezd
Scratcher
100+ posts

Mirroring and rotating a sprite

I think this is a good idea, but I also think that you should be able to mirror up and down to.
mirrorindirection upmirrorindirection downmirrorindirection rightmirrorindirection left
Platformer123
Scratcher
2 posts

Mirroring and rotating a sprite

There is a set rotation style block already though, so sorry. No support
yoshi5674
Scratcher
2 posts

Mirroring and rotating a sprite

I really need this for a game im making called Caillou the Savage

Powered by DjangoBB