# Watch Interface Help pls

**URL:** <https://forum.makecode.com/t/watch-interface-help-pls/7047>\
**Category:** micro:bit\
**Created:** [March 27, 2021, 3:19pm UTC](https://forum.makecode.com/t/watch-interface-help-pls/7047 "2021-03-27T15:19:43Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Primal\_Nexus](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/primal_nexus/32/3540_2.png) [@Primal\_Nexus](https://forum.makecode.com/u/Primal_Nexus)\
**Post date:** [March 27, 2021, 3:19pm UTC](https://forum.makecode.com/t/watch-interface-help-pls/7047/1 "2021-03-27T15:19:43Z")

</div>

> **[I have a problem](https://makecode.microbit.org/78781-86559-41270-30273)**
>
> Made with ❤️ in Microsoft MakeCode for micro:bit.

So basically I have this unfinished project in the Micro:bit editor that I’m having trouble working around where I’m trying to get up a menu with options (like a FitBit or something) - it has one choice for now which is to get back to the actual watch (this is an arrow shape) - and whenever I try to animate the ‘back to watch’ arrow, it shows one frame, switches back to the actual watch screen, and plays the next frame on the watch menu.

This is confusing me, pls help!

---

<div class="post-metadata">

**Author:** ![bsiever](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/bsiever/32/1032_2.png) [@bsiever](https://forum.makecode.com/u/bsiever)\
**Post date:** [March 27, 2021, 5:21pm UTC](https://forum.makecode.com/t/watch-interface-help-pls/7047/2 "2021-03-27T17:21:54Z")

</div>

I think the problem may be due to multiple `forever` loops. I’d suggest trying a single `forever` that does all the display updates and maybe have an additional `displayMode` variable (and maybe an additional variable to keep track of progress on animations).

For example, you could do the arrow animation if `displayMode` is 2 and you could use a second variable as a counter for which arrow icon should be drawn.

Hopefully someone else can suggest a better way or can let you know if the `forver` loops really are the problem or now.

---

<div class="post-metadata">

**Author:** ![Primal\_Nexus](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/primal_nexus/32/3540_2.png) [@Primal\_Nexus](https://forum.makecode.com/u/Primal_Nexus)\
**Post date:** [March 27, 2021, 7:43pm UTC](https://forum.makecode.com/t/watch-interface-help-pls/7047/3 "2021-03-27T19:43:51Z")

</div>

@bsiever the problem is not the `forever loops`, it is the `if, then, else` statement I’ve put in:

 ![image](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/2X/3/35a77a35f3fdcf8d0e82d65802ebf6fad59d8a9d.png)  
As you can see, the `else` (red) is an asleep face, and is also the main watch face. This interferes with the animation, since the Micro:bit is constantly seeing if the watch isn’t the stopwatch interface, resetting it to the home screen (asleep face).

It sort of was a `forever` loop though, thanks for pointing that out!

---

<div class="post-metadata">

**Author:** ![bsiever](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/bsiever/32/1032_2.png) [@bsiever](https://forum.makecode.com/u/bsiever)\
**Post date:** [March 28, 2021, 4:26pm UTC](https://forum.makecode.com/t/watch-interface-help-pls/7047/4 "2021-03-28T16:26:25Z")

</div>

That’s actually mostly what I meant. You have two things updating the screen. One is updating the screen forever in a loop. It is _constantly_ redrawing the frown. Even if it does draw the arrows, it will redraw the frown over them. That’s part of why I suggest you only have one place that draws to the screen. Of you could just draw the frown once when you change the `running` variable to false (rather than in the `forever` loop).

---

<div class="post-metadata">

**Author:** ![Primal\_Nexus](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/primal_nexus/32/3540_2.png) [@Primal\_Nexus](https://forum.makecode.com/u/Primal_Nexus)\
**Post date:** [March 28, 2021, 4:35pm UTC](https://forum.makecode.com/t/watch-interface-help-pls/7047/5 "2021-03-28T16:35:04Z")

</div>

> [@bsiever](#):
>
> That’s actually mostly what I meant

Well, thanks for mentioning it again, you are a great help!
