My sprites think a variable's value is false even though its value is true!
I am getting really infuriated by this glitch. I have tried many attempts to make a tower
defense but after only days a glitch comes and ruins everything. And this particular
glitch has something to do with variables. Here's the project: Snap! Build Your Own Blocks
Here's a chart of what's wrong:
|What's wrong :
|Global variable won't show/hide when a clone sprite tries to make it.
|Basic unit on menu won't show even when it checked if the menu is open.
I tried a lot of things hoping it would get this to work but none of them worked. Can someone tell me why the variables are like this?
which variable/s exactly are you having problems with?
well i got your menu to work. basically instead of testing if the menu is open each frame with each menu item, i put broadcast messages for 'menu open' and 'menu close', that are only activated once when the menu button is clicked and is sent to anything receiving that message. that way you dont have have forever if (menu opened) running constantly. also i think your menu item was just off screen, i put a set xy block and a go to top layer and it seems to work fine. still not sure what youre trying to do with your variables. i would say try to rethink your general approach and try to avoid having multiple (when i start as a clone) hats, that tends to cause weird hard-to-debug glitches to show up. Snap! Build Your Own Blocks.
More specifically: (Since you wanted it)
|Global variable named "menu open?"'s show/hide wont sync with the menu (A clone sprite)
|Basic unit 's <shown?> won't sync with the menu and is instead staying as "false"
Could you share your project?
Never mind, I will try to use broadcast messages to make the menu work like you said on my own project.
Big thanks for the help though! When I finish my tower defense game I will make sure to give big credit.
I figured out why the variable won't respond! It was because that variable was temporary! The real variable was hidden somewhere because I confused it with the temporary one!