How to Use Godot's Signals

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

КОМЕНТАРІ • 162

  • @Gdquest
    @Gdquest  10 місяців тому +4

    ✦✦✦ NEW VIDEO ON SIGNALS IN GODOT 4 ✦✦✦ ua-cam.com/video/Qlq8pBB2htg/v-deo.html

  • @zima44
    @zima44 2 роки тому +85

    For anyone wondering why this project appears in a borderless window when running it, you can disable it in Project Settings > Display > Window > Borderless

  • @justanothernobody7142
    @justanothernobody7142 Рік тому +179

    In Godot 4 it's changed to:
    func _ready():
    var timer = Callable(self, "_on_timer_timeout" )
    and then
    func _on_timer_timeout():
    visible = not visible

    • @ponponyaya7890
      @ponponyaya7890 Рік тому +85

      [In Godot 4.0]
      It's No need to use callable in this case since the function owner is the node self.
      Just write as following:
      func _ready():
      var timer = get_node("Timer")
      timer.timeout.connect(_on_Timer_timeout)
      And declare function "_on_Timer_timeout" as the video ( 10:46 ) did.
      Then it can run in Godot 4.0.

    • @justanothernobody7142
      @justanothernobody7142 Рік тому +4

      @@ponponyaya7890 Ok thanks!. I've only been learning Godot and GDscript for a few days so I referenced that from another video.

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

      @@ponponyaya7890 Hello so I used your suggestion and got an error that says "Invalid type in function 'connect' in base ''Signal". Cannot convert argument 1 from String to Callable"
      Code:
      extends Sprite2D
      var speed = 400
      var angular_speed = PI
      func _ready():
      var timer = get_node("Timer")
      timer.timeout.connect("_on_Timer_timeout")
      func _process(delta):
      rotation += angular_speed * delta
      var velocity = Vector2.UP.rotated(rotation) * speed
      position += velocity * delta
      func _on_button_pressed():
      set_process(not is_processing())
      func _on_timer_timeout():
      visible = not visible

    • @ponponyaya7890
      @ponponyaya7890 Рік тому +8

      @VariableArtist
      In your case, just write as following :
      timer.timeout.connect(_on_timer_timeout)
      I mean don't use "" here.
      Since it will be a String when you use "".
      And when you write function name without "", it will be recognized as a Callable in Godot 4.
      p.s. Godot is case sensitive, so make sure your function name is _on_timer_timeout here.

    • @VariableArtist
      @VariableArtist Рік тому +3

      @@ponponyaya7890 Oh my god thank you so much.
      I am brand new to the engine and trying to learn this engine because as unity matures/updates the slower it runs on my computer. I have been enjoying the speed of godot a lot more than unity.

  • @RichardPerfectKiwi
    @RichardPerfectKiwi Рік тому +38

    If you are following this tutorial with Godot 4.0 and you get an error of something like the following; "Invalid argument for "connect()" function argument 2 should be callable" - it's because the syntax for connecting signals must have changed in version four. Change the _ready() function to look like this;
    func _ready():
    var timer = get_node("Timer")
    timer.timeout.connect(self._on_Timer_timeout)
    The concepts are the same - it's just the syntax that's changed.

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

      when I ran into this problem I copied/adapted the following from the documentation:
      timer.connect("timeout", Callable(self, "_on_Timer_timeout"))
      This worked first time.
      I then copied the solution here (which also works):
      timer.timeout.connect(_on_Timer_timeout)
      Is one more correct than the other? Can someone with more experience please explain why both work and what's going on? Much thanks :)

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

      @@autumnshade84 According to the documentation on connect() you should use timer.timeout.connect(_on_Timer_timeout) in most cases because it's faster and has better validation (you get an error in the editor if either the timeout signal or the _on_Timer_timeout function doesn't exist, so you won't make mistakes like misspelling or using wrong case). The other option should mainly be used "if you actually need to use strings (e.g. to connect signals programmatically based on strings read from a configuration file)", to quote the docs. Basically, use timer.timeout.connect unless you don't know when writing the code what you want to connect to/from (which you probably know in 99% of all cases).

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

      Thank you. Question, why the auto fill doesn't kick appear when I time "timer.". It doesn't show timeout.
      The code worked, I was just curious to how it doesn't auto fill. Also, how did you find the solutions to this tutorial problem? Again, thank you!

    • @bradhultman1076
      @bradhultman1076 10 місяців тому +1

      Your a life saver thank you

  • @metaKnightSpamer777
    @metaKnightSpamer777 Рік тому +6

    I am thankful to the comments that have information to help update the code here

  • @CornThatLefty
    @CornThatLefty 3 роки тому +81

    I'm not even using Godot, I just enjoy watching your videos because you make learning this stuff so interesting

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

      Me too bro

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

      @Gor Eldeen me not too now either xD im a godot bro now

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

      @Gor Eldeen bro i want the straight answer. Which engine is better so that I will not regret later

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

      @GorEldeen ram does not define performance, you should look into the cpu and gpu components instead
      having 8gbs of ram doesn't guarantee a smooth experience in unity when the rest of your pc lacks in power

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

      @goreldeen won't you similarly get stuck I unity?

  • @MrAcehigh
    @MrAcehigh 3 роки тому +32

    An interesting thing i found while following along with this tutorial is that the bool type is not also considered an INT Type in GDScript like it is in python and C++

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

      I stumbled upon that aswell, luckily for anyone curious you can cast any bool to an int simply by sayiNg "int(*bool goes here*)" without quotes

  • @ic1cl3
    @ic1cl3 11 місяців тому +1

    This is legit the best tutorial I've ever seen on godot, thankyou

  • @toasturhztoastbunz896
    @toasturhztoastbunz896 Рік тому +3

    One useful fact that wasn't mentioned was that you can connect the signal to more than one node, useful if you want more than one funciton/node to run at the same time a signal is called. You can also attach it to preexisting functions in the node it's connected to as well.

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

    I've just binged all of the vids in the course, I'm subbed and strapped in lets goooo!!!

  • @joshua.h
    @joshua.h Рік тому

    This was incredibly useful! I have recently started using Godot and while I was able to understand linking signals through the UI pretty easily though the website tutorial, I couldn't grasp how to link via scripting. This video was very clear and concise and thanks to it I was able to get the utility I wanted in my game working.

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

    Right as im trying to implement a signal into my first game. Thanks !

  • @danielstevenson1074
    @danielstevenson1074 7 місяців тому

    finally, thank you, I've been looking for a tutorial on signals emit values and no one talks about it :)

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

    omg thanks man thats actually exactly what i needed

  • @superkhrapchannel980
    @superkhrapchannel980 2 роки тому +2

    I like watching your videos at x2 speed. Great content.

  • @FuraFaolox
    @FuraFaolox Рік тому +5

    The custom signal one doesn't work in v4, and I'm too new to this kind of stuff to understand why.
    First off, it doesn't recognize "onready" in the enemy's script.
    Second, the enemy doesn't reach the player, therefore not colliding and not dealing damage.
    Does anyone have a fix?

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

    WOW! you have got the talent to make interesting tutorials

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

    Great resources! New SUBS here.. toying with GD for a month now 🤭

  • @mio-xh1ln
    @mio-xh1ln Рік тому

    great video, especially for someone who knows nearly nothing about coding !! keep the good work up, mate :)

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

    Epic. I'ma download this. Thanks for getting it out early!

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

    Thank you very much you just helped me with a school project

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

    Thank you for the time it took to make this. Very informative.

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

    Thank you for another great tutorial 🥰💕

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

    Thank you so much for sharing your experience with us. God bless you .

  • @darkprince7133
    @darkprince7133 3 роки тому +3

    I can't connect the signal via code. It doesn't show the "timeout" and i went back and redid it and now it doesn't even display the "timer" in the first ready function
    It says node not found in the output

  • @scattagain
    @scattagain 2 роки тому +7

    Fun Fact: You dont have to write "get_node("Timer")" you can actually instead write "$Timer"

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

      he knows I have the full GDQuest course, but this is the simplest way of explaining it, also you don't need to declare variable inside _ready you can call on ready var, but he knows all this stuff just explaining it in a simple way.

    • @r.e.4873
      @r.e.4873 2 місяці тому

      @scattagain I've run into problems using $node format when trying to connect nodes from two different scenes

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

    Holy cow, that is so much friendlier to use than Unity's event system.

  • @ericanderson4883
    @ericanderson4883 3 роки тому +3

    I was on the wrong tutorial page. I'm asking if there is a series that is in order with this that goes through finishing this particular game "using signals"?

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

    i now see why you asked us to start with cs50 or some other intro coding course xD need a lot of functional thinking and sending inputs and outputs and stuff to understand stuff so far

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

    thats exactly what i was searching for
    thnx

  • @yamete9650
    @yamete9650 3 роки тому +3

    How can I change the total health of the life bar? When I set the health variable to 20, the health reduction works only after 5 collides.

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

    Hey GDQuest. Is there a clean way to check if a node has a signal?
    I have a parent node with a list of child nodes. Some of the child nodes have a custom signal. I want my parent to go through the list of children and subscribe to a signal, if a child has it, if not just skip. What would be a good way to do this in Godot, through code?

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

    Hmm the _on_Timer_timeout function didn't work for me just writing it in code. But after writing it, when I manually connected it in the editor UI it started working. Seems like the script doesn't make the signal connection just from the code and you have to manually click connect.

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

      That's exactly right. Seems to me that by clicking the Connect button (and naming your method), you tell the engine to create a link in the background that references your new method (_on_Timer_timeout)and thus calls it up whenever the signal is emitted. Godot seems to hide this part from us to keep the code lean and focused.

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

    can't wait for next video!

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

    I was just wondering about this!

  • @mikego2611
    @mikego2611 3 роки тому +3

    9:49 Out of curiosity, would be the same to put "get_node(".")" instead of "self"?

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

      No. In GDScript for one, you don't want to use get_node("."). It's unnecessary work: you have the engine parse the node path argument to find the reference to the current node the script is attached to. It doesn't do anything useful as far as I know.
      Self or this is a different concept, mostly unnecessary in GDScript, but note it works even if you're not dealing with a node, which is the first difference. If your script extends Object, Reference, or Resource, "get_node()" isn't available because that's a function of the Node class.
      Then, in Godot 3, I only know one case where you may use self concretely: to have a variable assignment go through a setter function. It's a little design flaw of the current GDScript that's addressed in Godot 4.
      Self means you're acting or accessing things on an instance of the class (an instance of the node with the script attached to it or an object created from this script in code). Unlike other programming languages, this is implicit in GDScript: every script is a class definition.

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

    You should really consider moving this kind of content over to Nebula!

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

    Can someone explain the logic behind WHERE I have to put the connect Function? In what node do I have to put it? The emitting one or the receiving? I don't understand the difference between the source node and target node. Is source node the emitting node?

    • @GaryParkin
      @GaryParkin 2 роки тому +4

      I'm fairly new to Godot but in C#, the emitting node is the source node. Think of it this way. It's like if you have information that your neighbors need to know, you can send a message to the neighborhood, but only the ones interested will listen. The "emitting" would be attached to you and the function that does something is attached to them, so they can choose to do something or not. (I'm relying on my C# background, I'm sure Godot works the same).
      Another side feature of signals is being able to call a function on another node in another Scene. It keeps the code from becoming spaghetti, by having self containing functions. The left hand does not need to know what the right hand is doing as long as they can pass a value or "Signal"
      Hope this helps :)

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

      @@GaryParkin Great reply, this really helped me.

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

      @@91bravic12 awesome. I'm so glad it helped.

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

    i would like to see how to approach signals in big real life game, ie. how to organise them so that it is not so tightly coupled and where game is just bigger

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

      It seems kind of similar to SendMessage in Unity. I'm not sure anyone still uses that function. It's just a really clunky way of calling a function on another object (calling functions by string). Am I correct?

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

    Thank you very much!

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

    Thank you good youtube man

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

    Thank you!

  • @Gdquest
    @Gdquest  3 роки тому +23

    As usual, on our website, you will find extra insights to go further: www.gdquest.com/tutorial/godot/learning-paths/getting-started-in-2021/chapter/9.using-signals/

  • @NDz9956
    @NDz9956 4 місяці тому

    what if the signal was for an instance that spawn in midel of game not in the scene bar

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

    Hi, can any one help me out.
    so i follow everything and anything that's typed in the comment, but i still get an error that says
    "cannot connect to "timeout"; the provided callable is null", i'm using GoDot 4
    Thanks!

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

    Ok so I'm not sure if this really teaches how custom signals work as the organization of the example project is far too simple. I'm trying to set up hazardous zones that will take health away from the player upon entering them. I don't want to make a custom Area node for detecting each different collision layer or item I want to add to the game. Is there any way I can create an Area that checks for labels and values put onto other Areas? Say the hazardous zone is labeled as health_trigger and has a value of 1 to take away 1 health from the player upon entering it, how can I set up an Area node tied to the player to check for the label of the hazard zone and distribute the value into an equation for subtracting the value given? I've seen something like this done in Cruelty Squad's source code scripts where balls of gas are just labeled as "hurt" along with a value, and the player is set up to detect for that label and value.

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

    I have a question. I noticed that there are no windows decorations. though when I made a new scene and wrote it up myself in Windows there are window decorations when I press F6. Is there a reason for this?

  • @joshcornish-barlow5257
    @joshcornish-barlow5257 2 роки тому

    the signal system is similar to the scratch signal system but with written code

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

    write the funky word

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

    Very useful

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

    When setting up the blink timer, why does the head become visible again? What causes the visibility variable to reset to True?

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

      because when timer emots sognal timeout() we set variable 'visible' to not visible which just means we are setting it to what it is not(if its true we set it to false, if its false we set it to true)

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

    My GMS soft like a motor bike! pls tell WHAT to do ?

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

    What is purpose connecting the signal via code? I tested it by making it into a comment while leaving the signal function there and it acts the same.

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

    If you're watching this for Godot4, they switched it to a "Callback type".
    Something like this will work:
    %Timer.timeout.connect(self._on_timer_timeout)
    It's actually pretty nice this way!

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

    Why I wrote down the codes exactly the same as yours in your last signal tutorial but the lifebar wasn't changed?

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

      You may have made a little typo or not connected the signal exactly the same as in the video. If you did, it should work.

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

    Why not use the connect method for both the timer and the button-Pressed? I don't see the point of the whole _ready function.

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

      you can, he did mention it but its to show that there are multiple methods to do that and _ready() initializes the objects the moment the game is started

  • @ex-format
    @ex-format 3 роки тому +1

    Спасибо!

  • @ЙенФенФыр
    @ЙенФенФыр 2 роки тому

    how does the status bar of health know that the maximum health is 10 units?

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

    The button doesn't appear when I press F5 :/
    Edit: Never mind, it somehow worked by me just changing the main scene to a different one, and back to the original one. That's weird.

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

      happened to me too thanks :)

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

    13:46 is it possible define that something that collides with the player (for example if spike.tscn collides with player player takes damage, but when ground.tscn collides gravity stops). I'm a begginer if it isn't obvious.

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

    how area2d is moving?

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

    if i want to make a 3D game do i have to download blender ?

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

      Blender is great. You cant get better models than using some built it tool than blender

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

      No but you do need 3D models. You could possibly download, import, rig, and use 3D assets from the web and never need to modify them in Blender. Having na knowing how to use blender will make modifying models you find much easier.

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

    to anyone that is getting an:
    > Node not found: "Timer" (relative to "/root/ToggleMotion/Godot").
    error, replace
    var timer = get_node("Timer")
    with
    var timer = Timer.new()
    edit: nvm, i was just a dumbass, and didnt make timer node to be godot note child....

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

      Your comment made me realize that I made the same mistake with not making the timer a Godot child....

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

    I get that the player health was for teaching custom signals but I think ideally Life bar and stuff like mana etc should be child of the player node and then interact simply from code to the child node. It is better from readability as well that health is part of the player.
    However In case of a boss health for example which is totally different from player health or any other health bar in the main scene custom signals will be better :)

    • @matthewparker9276
      @matthewparker9276 3 роки тому +16

      It really depends on the rest of the structure of the game. To me it makes more sense for the health bar to be a child of a node which controls UI, than a child of the player itself. It makes arranging the UI simpler, both in the editor and in game.

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

    Should i learn godot or unity? Which is best? Plz say

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

      Just start learning. That will do the best

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

      It depends on what you want to do and what experience you already have. GDQuest has a Godot vs Unity video that goes into more detail.

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

      @@Any_key404 does godot have particle effect?

    • @user-sl6gn1ss8p
      @user-sl6gn1ss8p 3 роки тому +5

      @@__Rizzler__ yes. As Tom said, if you're just starting out, either one will definitely be able to do all you (realistically) need and more.
      My 2 cents is:
      Godot is open source and free, but for practical purposes that won't matter at the start. It's 2D side is stronger, but a new version is approaching with many updates on the 3D side, which is still very capable, specially if you're just starting out. I like the scene system and GD Script may be nice to start off, since it's a language built specifically to work with godot: it's probably more efficient to first warp your head around that. There are quite a few tutorials and resources on Godot development out there - not as much as for Unity, but definitely more than enough to get you started. Godot is very light weight as well.
      Unity has a crazy lot of tutorials and pre-built things all around, probably more mature 3D (which shouldn't matter much as you're starting out). It has way more market presence (say, if you look for freelancing jobs someday) and an easier flux to export games to consoles and what not.
      All in all, learning either one will make picking up the other way easier. In fact it's probably a good idea to get a nice hang of one of them and then give the other a little spin (open minded) to see what you think.
      But again, by far the most important thing is to just get started. If you find yourself unable to decide just flip a coin : )

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

      @@user-sl6gn1ss8p dude thanks for your novel but which should i pick godot- c# or godot-gd script?

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

    Out of interest, what sort of soft are you hoping to produce?

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

    Okay, but the '_on_Player_health_changed' function feels EXTREMELY arbitrary. Is there not a more rigorous way to listen for a signal from a specific object?

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

    I want to make the godot blink only while moving, how can I that? (when the godot is stopped I want to make it visible regardless of the timer)

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

      In the _on_Button_pressed function, after the set_process command you check if is_processing() is true. If it is you connect the timeout signal, or disconnect the timeout if it is not.

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

    I just realized something while following your tutorial. The function we created in the previous video _process() it seems that it is always running even when it has not been called yet. In python (which was what I learned before this), when you define a function for instance def funtion(): . you still need to write funtion() after to initiate the function but that doesn't seem to be the case here. Can someone explain why this function is always running? I assume it's because of the name _process but I would like some confirmation.
    Edit: I hope someone reads this because the video is a year old.

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

      this is a function reserved by the engine, like _phisics_process(), _ready() or _input(). You can read about it in the official documentation, sometimes it's even more useful than a video.

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

    Little bit confused, could we use programmatic connect() via code, instead of connecting via UI, for custom signal?

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

      Sure! They work the same as built-in ones.

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

      I'd recommend only connecting from code. Makes it easier to manage.

  • @fuzzy-02
    @fuzzy-02 3 роки тому

    so signals are ascended version of global variables

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

      Signals are just callbacks. It's just we use some magic to connect callbacks without passing references explicitly.

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

    3:44 I have done the exact something but when i press f5 my button disappears, I'm a complete beginner, plzz help me out

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

      I know I'm 2 months old but to fix this you can go to :
      Project > Project settings > Run
      and then at "Main Scene" you clic the folder to browse it and select "Toggle Motion.tscn" (or whatever name you named this scene)

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

      actually it was probably because you were using F5 instead of F6 to test

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

    What I don't undestand is how do I set up a signal that will be recieved by a node that doesn't exist yet, and will be generated later in code? It seems like the object needs to exist for the onready function to not produce an error, but if it won't exist until much later in the game loop when I generate it as a scene instance, how am I supposed to get any signals attached between them?

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

      In order to generate it, doesn't it need to have a scene or script already? I mean it exists in code when you create a new scene and then you create it on the screen by using it's Scene object? Or am I missing something. Can you create a scene object on the fly?

  • @itsME-dc4vm
    @itsME-dc4vm 3 роки тому +1

    nice ;D

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

    I want to scream, I forgot to create the signal keyword and signal name to make "emit_signal" actually work later in the code...

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

    1:27 - secret-files...
    I need to know.

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

    I saw that the godot game engine will be renamed to godette, but from my observation of this game engine, I noticed that the games that are created in it cannot be hacked by cheaters, so i will be using this engine to make my games.

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

    Loving these tutorials but i can't deny some frustrations:
    Calling individual game objects as 'Scenes' is really confusing (especially to former Unity users)
    underscores at the beginner of functions makes me shudder (though i do like how functions can connect to other scenes through their names and i'm guessing this allow a breadcrumb trail)
    func - i know void isn't much better, but this is a whole new version of wave of hungarian notation

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

    Godot 4: Remove self in timer.connect arguments. That's it.

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

    dastxosh

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

    Is it possible to use godot to make a game on the WAXP blockchain?

  • @ff-qf1th
    @ff-qf1th 2 роки тому

    13:46

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

    This tutorial could have been just the last 6 minutes. I've been looking for a quick and clear tutorial on Signals for half an hour and people insist in making 15-30 minute videos that are 90% creating buttons and nodes instead of jumping straight to THE POINT OF THE VIDEO. What a waste of time...

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

    under sco

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

    its a funckey world, aint it?

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

    ahem I wanted to say
    WTF YOU MEAN BY CLICKING RIGHT CLIKS IM ON MOBILE!