# How do i make spring work good?

**URL:** <https://forum.makecode.com/t/how-do-i-make-spring-work-good/44372>\
**Category:** Help\
**Tags:** game\
**Created:** [June 5, 2026, 10:11pm UTC](https://forum.makecode.com/t/how-do-i-make-spring-work-good/44372 "2026-06-05T22:11:15Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![superOPScoder1](https://avatars.discourse-cdn.com/v4/letter/s/cdc98d/32.png) [@superOPScoder1](https://forum.makecode.com/u/superOPScoder1)\
**Post date:** [June 5, 2026, 10:11pm UTC](https://forum.makecode.com/t/how-do-i-make-spring-work-good/44372/1 "2026-06-05T22:11:15Z")

</div>

I jump onto spring and it works good, but i walk into it and it change velocity multiple times. I tried adding a wait 100ms block, but it added weird delay, and didnt even fix problem?!?!? Is there a way i could fix this without adding weird delay?

> **[spring\_test](https://arcade.makecode.com/S99779-72914-27215-15353)**
>
> test for spring

---

<div class="post-metadata">

**Author:** ![AlexTheGoober63](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/alexthegoober63/32/35080_2.png) [@AlexTheGoober63](https://forum.makecode.com/u/AlexTheGoober63)\
**Post date:** [June 6, 2026, 4:37am UTC](https://forum.makecode.com/t/how-do-i-make-spring-work-good/44372/2 "2026-06-06T04:37:19Z")

</div>

it’'s because the duck is constantly overlapping the sprite, also you shouldn’t use blocks like “change”, instead it’s better to use “set” since change will cause the duck to go up, but if it happens again, then it will add up with the previous block, and over and over like acceleration, set only sets the velocity to whatever you put it, and will not go up, only with the number you set it to

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

hope this helps

---

<div class="post-metadata">

**Author:** ![DimonSw0rd11](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/dimonsw0rd11/32/32564_2.png) [@DimonSw0rd11](https://forum.makecode.com/u/DimonSw0rd11)\
**Post date:** [June 6, 2026, 4:38am UTC](https://forum.makecode.com/t/how-do-i-make-spring-work-good/44372/3 "2026-06-06T04:38:53Z")

</div>

Instead of changing the sprite’s velocity, set its velocity so it moves up at a consistent speed.

---

<div class="post-metadata">

**Author:** ![kirbob](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/kirbob/32/34880_2.png) [@kirbob](https://forum.makecode.com/u/kirbob)\
**Post date:** [June 6, 2026, 4:52am UTC](https://forum.makecode.com/t/how-do-i-make-spring-work-good/44372/4 "2026-06-06T04:52:48Z")

</div>

make sure the character sprite has a set ay velocity not velocity

---

<div class="post-metadata">

**Author:** ![WoofWoof](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/woofwoof/32/32523_2.png) [@WoofWoof](https://forum.makecode.com/u/WoofWoof)\
**Post date:** [June 6, 2026, 4:52am UTC](https://forum.makecode.com/t/how-do-i-make-spring-work-good/44372/5 "2026-06-06T04:52:55Z")

</div>

Use Set velocity instead of Change velocity, that way it sends you at the same speed no matter what and the double change won’t be an issue.

---

<div class="post-metadata">

**Author:** ![Bifrosty](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/bifrosty/32/24819_2.png) [@Bifrosty](https://forum.makecode.com/u/Bifrosty)\
**Post date:** [June 6, 2026, 4:57am UTC](https://forum.makecode.com/t/how-do-i-make-spring-work-good/44372/6 "2026-06-06T04:57:51Z")

</div>

Use a set instead of a change, this way velocity is always the same when coming off the spring rather than adding more depending how long the overlap is:

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

---

<div class="post-metadata">

**Author:** ![redSprite](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/redsprite/32/34262_2.png) [@redSprite](https://forum.makecode.com/u/redSprite)\
**Post date:** [June 6, 2026, 5:04am UTC](https://forum.makecode.com/t/how-do-i-make-spring-work-good/44372/7 "2026-06-06T05:04:28Z")

</div>

I’d say you would want it to be “set velocity” rather than “change velocity”, allows for more consistent movement.

---

<div class="post-metadata">

**Author:** ![superOPScoder1](https://avatars.discourse-cdn.com/v4/letter/s/cdc98d/32.png) [@superOPScoder1](https://forum.makecode.com/u/superOPScoder1)\
**Post date:** [June 6, 2026, 7:45pm UTC](https://forum.makecode.com/t/how-do-i-make-spring-work-good/44372/8 "2026-06-06T19:45:09Z")

</div>

thanks everyone!

---

<div class="post-metadata">

**Author:** ![DimonSw0rd11](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/dimonsw0rd11/32/32564_2.png) [@DimonSw0rd11](https://forum.makecode.com/u/DimonSw0rd11)\
**Post date:** [June 6, 2026, 7:47pm UTC](https://forum.makecode.com/t/how-do-i-make-spring-work-good/44372/9 "2026-06-06T19:47:49Z")

</div>

How would set ay help?

---

<div class="post-metadata">

**Author:** ![superOPScoder1](https://avatars.discourse-cdn.com/v4/letter/s/cdc98d/32.png) [@superOPScoder1](https://forum.makecode.com/u/superOPScoder1)\
**Post date:** [June 7, 2026, 12:24am UTC](https://forum.makecode.com/t/how-do-i-make-spring-work-good/44372/10 "2026-06-07T00:24:24Z")

</div>

my problem was that the velocity wasnt the same everytime so the set one works because instead of changing the vy, (which could be nearly doubled by also jumping), it \*sets\* the value so its always the same height.
