# A tutorial to movement, jumping, and other things

**URL:** <https://forum.makecode.com/t/a-tutorial-to-movement-jumping-and-other-things/47219>\
**Category:** Help\
**Created:** [November 13, 2026, 4:50am UTC](https://forum.makecode.com/t/a-tutorial-to-movement-jumping-and-other-things/47219 "2026-11-13T04:50:24Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sword\_Studios](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/sword_studios/32/36911_2.png) [@Sword\_Studios](https://forum.makecode.com/u/Sword_Studios)\
**Post date:** [November 13, 2026, 4:50am UTC](https://forum.makecode.com/t/a-tutorial-to-movement-jumping-and-other-things/47219/1 "2026-11-13T04:50:24Z")

</div>

Do you want to know how to control your movement and jumping? Well, here’s a tutorial to do so!

First, we have the humble “move mySprite with buttons” block.

 ![image](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/3X/7/c/7cd8c64388934b5bf8a17a9510b6d6ff28dd75dd.png)

It makes you move a sprite with buttons. Press the + button and you get to control how fast your sprite goes.

If you are making a platformer, then you need to do this:

![image](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/3X/e/9/e983b35990c660c81080b635e93e5c3f2cdaa63b.png)

This way the sprite won’t be able to move upwards with buttons.

But wait! The sprite’s not falling. What do I do? Get out the handy “set mySprite x to 0” block and change “x” to “ay”. This is the downward acceleration that is sorta like gravity.

 ![image](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/3X/c/5/c560ac4c3a45dcd42cb0b727f9c31a351a9cd878.png)

But now you might be wondering, “how do I make the sprite jump?” Drag an “on A button pressed” block out. Then, get another “set mySprite x to 0” block and change “x” to “vy”. You have to make the vy negative, however because that will make the sprite go up.

 ![image](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/3X/e/6/e60e3a62c83e7fcceb7b33f9a9038d9a13fceeb2.png)

BUT WAIT!!! How do I make the sprite double jump? Well, this gets a little complicated. First, make a variable named “numjumps” and set it to how many jumps you want it to have. Then, do this:

 ![image](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/3X/d/9/d92af4f895993fbdd931747c8886a119ad039849.png)

But you may notice that the sprite will be unable to jump upon hitting the ground. Well, you can fix this by either doing this

 ![image](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/3X/2/c/2cba317174deb7189312e7ef4931d714fd3dfbe0.png)

or this

 ![image](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/3X/5/7/57e321599d2e48cb9c916461ff4c07936e0b43ac.png)

And there you have it! You now have fully functional double jumps.

 ![image](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/3X/6/d/6d45bbb4bbb60a5a9b747faa0b8aa3cca6161f5b.png)

Going back to open world style RPGS, you may wonder how to make the sprite stop moving. Well, to do that make a variable called “moving”. Then grab a “true” reporter block (the hexagonal block) and put it in in place of the zero.

 ![image](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/3X/3/d/3d4263584e5faee15102c3d225614728b1011dfc.png)

Then do this:

 ![image](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/3X/b/5/b545b923d1a661c5714fadcba96626de57e3c788.png)

And then you can control when the sprite moves! Just remember to change it back when you’re done. You can do the same thing with jumping, by doing this:

 ![image](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/3X/5/e/5eee530a2a004d9788af432ae90e13813aaba571.png)

And that’s all I have to say.
