How to make a Simple Menu in Godot in 10 minutes

Поділитися
Вставка
  • Опубліковано 26 жов 2024

КОМЕНТАРІ • 76

  • @doubletapp5660
    @doubletapp5660 3 роки тому +136

    Didn't realize speed runners made Godot tutorials,
    very helpful though.

    • @xMonkeydud137x
      @xMonkeydud137x 3 роки тому +7

      For real. Barry Allen beat your fucking heart out.

    • @rifewastaken8520
      @rifewastaken8520 3 роки тому +4

      gotta be a pb

    • @VickylanceMedia
      @VickylanceMedia Рік тому

      Lol I watched the video in 2x speed tho

    • @stiftblock
      @stiftblock Рік тому

      somebody has to tell him tutorials are no competition

  • @trashelf3435
    @trashelf3435 3 роки тому +66

    This was a good tutorial although in my opinion it was a bit fast and would have liked more explonation about the nodes used.

  • @antonsimkin
    @antonsimkin 3 роки тому +20

    thank God a tutorial that doesn't waste your time

    • @megafan1533
      @megafan1533 3 роки тому +2

      it did for me didnt work

  • @Awesomeness-iz3dh
    @Awesomeness-iz3dh 3 роки тому +4

    This is a lifesaver. Thank you. The official documentation couldn't be less concise if it tried to be, it's 90% fluff that I can't be bothered to read to get the 10% that's actual information. A video alternative is a blessing. Plus I don't have to read a bunch of pages just to get to where I can understand what it wants from me.

    • @1u8taheb6
      @1u8taheb6 3 роки тому +1

      Yes the docs suck. After defaulting to them for the first dozen or so problems I encountered I now avoid them because not once did I find them useful.

  • @exospectral6930
    @exospectral6930 2 роки тому +1

    Great tutorial, very compact and right to the point. As a beginner I've tried a few ways to make this work, couldn't do it without this tutorial though.

  • @julianlange3049
    @julianlange3049 3 роки тому +7

    Hey Jon, thanks a lot, helped me to get my first menu ready and working straight away. I would have loved a few extra words on what the Containers (CenterContainer/V/HBox) actually are / do :)!

  • @broombroom3208
    @broombroom3208 2 роки тому

    Smart dude. No fluff. I like it.

  • @dannyostrovsky1636
    @dannyostrovsky1636 3 роки тому +6

    Combined this lesson with Transition Scene...
    YEAH BUDDY!

    • @hdotfx
      @hdotfx 8 місяців тому

      ok dannyostrovsky1636

  • @stevemcwin
    @stevemcwin 3 роки тому +5

    Hey man this is a really good tutorial, fast, efficient, teaches everything that should've been taught and everything is understandable. Thank you for making this!

  • @AD-eo8wj
    @AD-eo8wj 2 роки тому

    Thanks for being quick and concise. Subbed!

  • @evtstreams
    @evtstreams 2 роки тому

    This might seem simple but for ui beginners (me) its actually really helpful

  • @jantona
    @jantona 3 роки тому

    Quick, clear, and helpful. Thank you!

  • @TheLucasEmerick
    @TheLucasEmerick 2 роки тому

    Thank you so much!
    Your tutorial was to the point, clear and great overall!

  • @kalibanghoul6023
    @kalibanghoul6023 3 роки тому +1

    Hey, people, don't be like stupid me, don't name your selector label ">" because it will fuck up the pathway hehe.
    Good tuto, even though it's quite fast ! It becomes a problem when you're coding long line of code using hotkeys ! You should maybe edit your video so that the line of code you just wrote is still visible when testing the result. I've had quite an hard time pausing the video to see the whole code to search for my errors.

  • @LunaticEdit
    @LunaticEdit 4 роки тому +7

    Why didn't you just use an array for the menu options? That way you can just do a for in range loop and not have to write 2 lines of code for every single menu option. Also, you can use wrapi to wrap the menu selection around to the end/start. The tutorial was useful enough for me to figure it out, but I'd suggest optimizing the code a bit more so that the newer developers (I'm new to Godot, not programming) won't pick up bad habbits.

    • @LunaticEdit
      @LunaticEdit 3 роки тому +4

      @@MVKHXV Instead of selector_one selector_two selector_three, selector[1] selector[2] etc, and then you can have N number of menu items and won't have to add duplicate code over and over again as you'd be able to use for loops.

    • @cgmaterial
      @cgmaterial 3 роки тому +1

      You are right, we can simplify code by using array.

  • @sat2099
    @sat2099 2 роки тому

    thanks bro this really helped out

  • @dzmo-official
    @dzmo-official 2 роки тому

    Very helpful. I had to pause every half second though. Could ya slow down a bit? You can also set playback speed lower everyone!

  • @splatbot8091
    @splatbot8091 3 роки тому

    THIS is the kind of tutorials that work.
    Good god I'm tired of the 5 hour lectures on how tweens work because the guy wants to talk about pottery or something omm

  • @kartarva3556
    @kartarva3556 3 роки тому +1

    Hey Jon! Making a back button to go to main menu and im getting an error for preloading it any tips for fixing it?

    • @jontopielski6227
      @jontopielski6227  3 роки тому

      Try the following and let me know if it works: Preload the main menu in the scene you are transitioning from via `const MainMenu = preload("res/path/...MainMenu.tscn")` and then in that scene's back button pressed signal function, instance a main menu object, add it as a child to the parent of the current node and then queue free your current scene.

  • @eilfunn2650
    @eilfunn2650 2 роки тому

    Instead of the text arrow I have uploaded my own TextureRect for the selector. How do I change the code?

  • @agatone7244
    @agatone7244 3 роки тому +1

    Umm, so I get an error saying “Invalid set index ‘text’ (on base: ‘String’) with value type ‘String’.” I don’t know what’s wrong as I copied the entire thing, but maybe someone could tell me?
    Edit: I forgot to ad ‘.text’ to the selectors above. Problem now solved

  • @emmanouelvasiliou7328
    @emmanouelvasiliou7328 2 роки тому

    Idk why but i dont have the custom colors option if u can help me

  • @ya_nz1
    @ya_nz1 2 роки тому

    Is there any way we could make it touchable (like mobile buttons) ?

  • @rosokucingganteng2365
    @rosokucingganteng2365 3 роки тому

    by the time I followed your quit script an error occurred (Unindent did not match any external identification level.)

  • @marcoscsouza3778
    @marcoscsouza3778 3 роки тому

    thanks from brazil

  • @TheGuyInTheHoddie
    @TheGuyInTheHoddie 2 роки тому

    do you need to make a new project for this to work

  • @xezzee
    @xezzee 3 роки тому

    Fast question. If I design my own button art and make it have 2 modes Light and Dim where all non selected are Dim and the current selection is Light can't I just replace the "text" with the picture and make that if selected show _2 else _1 and name the pictures Button_Star_1 and Button_Start_2 ???
    I'm asking this with no other experience in coding than playing around with game maker and GoDoT xD Just wondering and testing things to see what I can do and how flexible the GoDoT is for my own needs . . . more work but who does not like some challenge?

  • @krillep280
    @krillep280 3 роки тому

    For some reason my Selector disappears when I try to go up. I've cross checked with the video I don't know how many times, and it's down to a tee, so I have no idea what's going on lol. Also, when I press "up" it goes down. If I use "down" when I'm at the bottom it doesn't disappear, but if I press "up" to go down, it disappears :S
    Edit: nevermind I'm blind. Didn't see you changed the second inputs + to - haha. Makes sense.

  • @cgmaterial
    @cgmaterial 3 роки тому

    Great tutorial

  • @nicolasandrade7794
    @nicolasandrade7794 3 роки тому +1

    doesnt work.. it says "Invalid set index 'string' (on base: 'null instance') with value of type 'string'" at the part where it says selector_one.txt = "" this tutorial really took me like 2 hours to do and it doesn't work.

    • @jontopielski6227
      @jontopielski6227  3 роки тому +1

      I would double check the `selector_one` assignment. If you're getting "null instance", it means that `selector_one` is null.
      In `onready var selector_one = $...`

  • @moahammad1mohammad
    @moahammad1mohammad 3 роки тому

    why not put the MainMenu container in a Node2D or control node?

    • @jontopielski6227
      @jontopielski6227  3 роки тому +1

      You could use a Control node for the base - the MarginContainer actually inherits from Control so it'll still have Control properties. It's just slightly more flexible because you can always add margin later if you want. I wouldn't recommend a Node2D as a root node for the base of control nodes because it will not allow its children to inherit from its orientation properties.

  • @nuharahman6077
    @nuharahman6077 9 місяців тому

    im not able to add the custom font at 1:12 help!

  • @Lightmagician60
    @Lightmagician60 2 роки тому

    Can't you just use labels? No boxcontainers

  • @s.s.scriptties
    @s.s.scriptties 3 роки тому

    ey I put me assets ,logos,and buttons in certain places on the menu screen but when I finish and try to test it out they all go all over the place ... wait let me say it better they return to there origin point

  • @pedrololas2166
    @pedrololas2166 3 роки тому

    the last arrow dosent show up on mine and im not sure why

  • @papajohn3632
    @papajohn3632 3 роки тому

    question can i add my own custom image instead of the color brackground

    • @jontopielski6227
      @jontopielski6227  3 роки тому +1

      Yes use a TextureRect node instead of the ColorRect

  • @iamvandex
    @iamvandex 3 роки тому

    nice.

  • @ntfound98
    @ntfound98 11 місяців тому

    I need a tutorial for the tutorial

  • @lionlight9514
    @lionlight9514 3 роки тому

    Thanks!! I really like this tutorial but maybe make it not so fast

  • @FlyingTurtleLP
    @FlyingTurtleLP 3 роки тому

    Perfect Speed! If I do not need to pause the video, you're wasting time. ... and damn I paused the video a hundred times!

  • @FilenameNULL415
    @FilenameNULL415 Рік тому

    THX

  • @illumiofficial6338
    @illumiofficial6338 3 роки тому

    cool video

  • @nicolasandrade7794
    @nicolasandrade7794 3 роки тому

    could someone just comment the code? i have the names exactly the same as his

  • @vishnuviswanathan4763
    @vishnuviswanathan4763 2 роки тому

    for the algorithm

  • @ChrisB0001
    @ChrisB0001 3 роки тому +1

    Just starting out on my Godot journey, and making a menu is a really basic skill to have in any language. I'm sure you are very good at Godot, but his was too fast to impart a how to to a beginner. good tutorial would include things like - what's a node, how to use the menu system, how to use the file system hierarchy (yes, I am reading the manual - honest!). The biggest tip on improvment would be slow down, and explain things as you do them. Cheers, Chris.

    • @programaths
      @programaths 2 роки тому +1

      The thing is that you can't go over everything for each tutorial. Because if a user is watching more than one of your tutorial, he will be pissed of to hear the same thing again and again.
      So, what one usually do is giving less and less reminder as he go forward in tutorials. So, in first tutorial, you go over nodes extensively, then you progressively explain less and less about the concept as people just got tit. So, you can explain things at a higher level.

    • @Xenonandplutonium
      @Xenonandplutonium Рік тому +1

      @@programathsThe thing is, a video of you doing something and talking about it while you do it isn’t a tutorial. It’s just like watching a person play a game and beat it. It’s not like truly learning anything. If I will have to pause every 7 seconds of a 9:13 minute video it’s not a tutorial.

    • @programaths
      @programaths Рік тому +1

      @@Xenonandplutonium I made a similar video, because in this tutorial, he is throwing away a lot that is already done by Godot...

  • @Interactive_arts
    @Interactive_arts 3 роки тому

    Garbage does not work

  • @juicebox4974
    @juicebox4974 2 роки тому

    Does anyone know why I get an error for this line?
    selector_three.text = ""

    • @juicebox4974
      @juicebox4974 2 роки тому

      never mind. I'll just find a better tutorial.