Please make more Platformer Tutorials, planning to make a full game with your awesome tutorials! Don't let the view counts diminish you! Keep at it, you got this!
Think you can do slopes next? Slopes are a huge part in 2D platformers that I'm surprised you haven't covered them yet. I suppose one thing I could recoment is using raycast-shaped colliders at the bottom of your character. Though it does seem to cause problems when the character is going down a slope.
NVM, found a better solution than the rayshape: Replace 'velocity = move_and_slide()' with 'velocity.y = move_and_slide_with_snap().y' instead, and enter in all the needed values for it to work. Something like: *velocity.y = move_and_slide_with_snap(velocity, Vector2.DOWN * stick, Vector2.UP, true, 15, deg2rad(radangle)).y* A youtuber named Pigdev made a really good video on it. Suggest you watch it for more info. (Yes, I know I could've just edited the original comment above itself to include this new info I found. But UA-cam doesn't notify when a comment has been edited meaning you wouldn't be seeing this rn, so whatever.)
My preferred way to handle a feature like this is to have the tiles changed with code. Whether you have these tiles on their own layer or mixed into the solid tiles layer is up to you, but either way you can iterate over all of them in code to swap them with the solid block tile like so: var tiles = $Tilemap.get_used_cells_by_id(0) # 0 being the tile ID for the empty block tile for i in tiles: $Tilemap,.set_cellv(i, 1) # 1 being the tile ID for the solid block tile Reverting them back to empty is only a matter of duplicating that code and swapping the tile IDs over. This saves having to make more Tilemap layers, and avoids having to draw the blocks twice.
I have been studying BGE for a long time using your tutorials. how can you know so much and figure it out?)) you're just great. GODOT is waiting for me)))
There are 2 functions, Show() and Hide() that set the visible property; though, I think it's redundant. Another note, what if I wanted to animate the platforms creation? Let's say I want them to grow from where they attach, to where they end. Also each block would grow from a small size to the original size. The idea is from Blaster Master and Metroid. I am just wondering if the tile system allows for animations.
Hi so I enthusiastically followed the series So really it's super mega interesting I really rarely seen such a super enriching tutorial in terms of learning It's very educational for me who comes from engines and who didn't really understand how godot works Plus I have to say that of all the engines it is by far the most practical because the signal systems do not necessarily need a reference to scripts to work with unreal which always needs a reference to an object C certainly the most interesting tutorial that I never seen A big thank you to you On the other hand I have a small question but I think I already have my answer you use the singleton To keep your variables global and therefore public accessible from all classes Can I access the sylton from a visual script Because I know that you can make function calls by doing the call instance function On a script I have already asked the question to many people but no one has ever answered me. It would be nice of you if you could answer this question. Kind regards, one more time another little question I don't have to execute the hidden function with the mouse from the visual script Maybe the function is not present So I simply execute a function from a script J searched in the control node and in get tree and I don't never found a reference to the mouse Otherwise your tutorial is absolutely incredible I will watch all the videos to like them Thanks to you I learned a lot but now I have to practice
Game crashes when I push "down" on the button. "Invalid get index position on base collisionshape2D" any suggestions? I have a picture of my previous button and I know the postion on mine was -14 but still crashes.
Hello ! how to set_collision_layer_bit 1, true) in godot 4 i tried eveything an even researched on godot website an reddit i tried using set_collision_layer_value(2,true) ?
@@ericwood1185set_collision_layer_bit() has been depecrated with Godot 4. You must use set_collision_layer_value(layer_number). The layer_number is from 1 to 32. Works the same with set_collision_mask_value()
I'm also stuck on the problem. I get the error Function "set_collision_layer_value()" not found in base self when I use the set_collision_layer function So far I have settled with moving the red tile out of view and setting it's position when the button is clicked func _on_button_red_button_pushed(): visible = true position.y = 7
@@nthapostle8070 I'm running into that same issue. My solution was to have the default state of the TilesRedSolid to have Collision Layer ON for 2 (platform) and under the Layers setting I turned Enabled OFF. Then the function enables the layer instead of turning on the visibility. func _on_button_red_button_pushed(): set_layer_enabled(0, true)
hello, I met the same problem with you also, and made me stuck for a while. but after reading the newest godot 4.3 documentation, I found a way to solve this problem. In godot 4.3, there is a similar function called set_collision_enabled(bool) you can disable it in the _ready() function of TileBlockSolid, by using set_collision_enabled(false) and then in the button_pushed signal process function, use set_collision_enabled(true) to make it collidable by player also remember to choose the player layer as the collision layer in your TileBlockSolid inspector you can have a try
Would be cool to have tutorials on building framework for simple 2d platformer games. These would be more complicated and definitely not for novice coders. But there are none of those kind tutorials on youtube at the time.
The energy at the beginning is great
I was waiting for you to make this Button to Reveal Blocks tutorial forever! Thanks for finally uploading this video. :D
Please make more Platformer Tutorials, planning to make a full game with your awesome tutorials! Don't let the view counts diminish you! Keep at it, you got this!
Thank you I was finding video like this one not much old and new it's just perfect
Keep making great godot tutorials for us. Keep up the good work I am following along to make my own game think to you I know how to make video games.
fantastic, looking forward to more!
top you have the best channel on the GODOT engine, frankly congratulations
😊
Think you can do slopes next? Slopes are a huge part in 2D platformers that I'm surprised you haven't covered them yet.
I suppose one thing I could recoment is using raycast-shaped colliders at the bottom of your character. Though it does seem to cause problems when the character is going down a slope.
NVM, found a better solution than the rayshape:
Replace 'velocity = move_and_slide()' with 'velocity.y = move_and_slide_with_snap().y' instead, and enter in all the needed values for it to work.
Something like:
*velocity.y = move_and_slide_with_snap(velocity, Vector2.DOWN * stick, Vector2.UP, true, 15, deg2rad(radangle)).y*
A youtuber named Pigdev made a really good video on it. Suggest you watch it for more info.
(Yes, I know I could've just edited the original comment above itself to include this new info I found. But UA-cam doesn't notify when a comment has been edited meaning you wouldn't be seeing this rn, so whatever.)
Awesome as always
My preferred way to handle a feature like this is to have the tiles changed with code. Whether you have these tiles on their own layer or mixed into the solid tiles layer is up to you, but either way you can iterate over all of them in code to swap them with the solid block tile like so:
var tiles = $Tilemap.get_used_cells_by_id(0) # 0 being the tile ID for the empty block tile
for i in tiles:
$Tilemap,.set_cellv(i, 1) # 1 being the tile ID for the solid block tile
Reverting them back to empty is only a matter of duplicating that code and swapping the tile IDs over.
This saves having to make more Tilemap layers, and avoids having to draw the blocks twice.
I don't think I can thank you enough
Thanks again for an upload on the series! Could u maybe show us how to make a slippery surface like ice in the next video?
I have been studying BGE for a long time using your tutorials. how can you know so much and figure it out?)) you're just great. GODOT is waiting for me)))
There are 2 functions, Show() and Hide() that set the visible property; though, I think it's redundant. Another note, what if I wanted to animate the platforms creation? Let's say I want them to grow from where they attach, to where they end. Also each block would grow from a small size to the original size. The idea is from Blaster Master and Metroid. I am just wondering if the tile system allows for animations.
i just set the things to go to y200000 at the start and when the thing is pressed go to y0
Hi so I enthusiastically followed the series So really it's super mega interesting I really rarely seen such a super enriching tutorial in terms of learning It's very educational for me who comes from engines and who didn't really understand how godot works Plus I have to say that of all the engines it is by far the most practical because the signal systems do not necessarily need a reference to scripts to work with unreal which always needs a reference to an object C certainly the most interesting tutorial that I never seen A big thank you to you On the other hand I have a small question but I think I already have my answer you use the singleton To keep your variables global and therefore public accessible from all classes Can I access the sylton from a visual script Because I know that you can make function calls by doing the call instance function On a script I have already asked the question to many people but no one has ever answered me. It would be nice of you if you could answer this question. Kind regards, one more time another little question I don't have to execute the hidden function with the mouse from the visual script Maybe the function is not present So I simply execute a function from a script J searched in the control node and in get tree and I don't never found a reference to the mouse Otherwise your tutorial is absolutely incredible I will watch all the videos to like them Thanks to you I learned a lot but now I have to practice
Game crashes when I push "down" on the button. "Invalid get index position on base collisionshape2D" any suggestions? I have a picture of my previous button and I know the postion on mine was -14 but still crashes.
everything is excellent i love it I downloaded Godot and doing it Lil by Lil but what about melee and combo attacks in a character
hey, I have been following the series, and can you explain how to implement coyote time in this code? I'm trying many ways but it never works :(
I managed to make it work! I'm so proud C:
well... I see orange not red... is my computer seeing this wrong??
Yeah, it's definitely somewhere between those two colors. My Thumbnail text definitely more orange. 😉
my name is colin too
Hello ! how to set_collision_layer_bit 1, true) in godot 4 i tried eveything an even researched on godot website an reddit i tried using set_collision_layer_value(2,true) ?
still looking for help on this part
@@ericwood1185set_collision_layer_bit() has been depecrated with Godot 4. You must use set_collision_layer_value(layer_number). The layer_number is from 1 to 32. Works the same with set_collision_mask_value()
I'm also stuck on the problem.
I get the error Function "set_collision_layer_value()" not found in base self when I use the set_collision_layer function
So far I have settled with moving the red tile out of view and setting it's position when the button is clicked
func _on_button_red_button_pushed():
visible = true
position.y = 7
@@nthapostle8070 I'm running into that same issue. My solution was to have the default state of the TilesRedSolid to have Collision Layer ON for 2 (platform) and under the Layers setting I turned Enabled OFF. Then the function enables the layer instead of turning on the visibility.
func _on_button_red_button_pushed():
set_layer_enabled(0, true)
hello, I met the same problem with you also, and made me stuck for a while. but after reading the newest godot 4.3 documentation, I found a way to solve this problem.
In godot 4.3, there is a similar function called set_collision_enabled(bool)
you can disable it in the _ready() function of TileBlockSolid, by using set_collision_enabled(false)
and then in the button_pushed signal process function, use set_collision_enabled(true) to make it collidable by player
also remember to choose the player layer as the collision layer in your TileBlockSolid inspector
you can have a try
Do unreal engine tutorials plzzzzz
Would be cool to have tutorials on building framework for simple 2d platformer games. These would be more complicated and definitely not for novice coders. But there are none of those kind tutorials on youtube at the time.
You might find them for the Unity game engine. I assume you could bring the same concepts over to Godot.