I love the fact you explain what every line does at the end. This makes it clear to me as a total noob exactly what line does what so that I can implement those lines in other methods I'm making. Thank you!
@Rakadeja5 ай бұрын
Alright, subscribing. Your tutorials are very chill. Thanks so much! Sometimes I over-complicate things, so when I see a guide like this it helps me to comprehend other ways I can accomplish the same thing.
@regys9521 Жыл бұрын
Glad you are back!
@mandamoon9149 Жыл бұрын
Love the simplicity, only 7 lines of code 🤯 like Bmo says, it’s fun to go fast 💨
@zote14 ай бұрын
oh my this is so.... love it dude
@revmatch6r Жыл бұрын
Yasssss bmo is back 👏 👏 👏
@CodingCenter1 Жыл бұрын
Don't mind but CAN I ASK THAT WHY ARE YOU NOT AN ANGEL, BRO KNOWS EVERTHING. THX SOSOSOSOSOSOSOSOSOSOS Much
@senordygus91911 ай бұрын
This methods seems hard to to implement in the new input system, do you have any suggestions?
@iR3dyOfficial9 ай бұрын
If you still want to know Use public InputActionReference actionKey; And then in the if statement you’ll do this If(actionKey.action.triggered) This will act like KeyCode Key, but you will be able to select the input action you created
@whyamihere555 Жыл бұрын
The player isn't stopping once the duration is over for me, just continuing to slide.
@shad72703 ай бұрын
The rb isnt speeding up Ive been trying to fix it but i have no idea what is wrong please help. using System.Collections; using System.Collections.Generic; using System.Xml.Serialization; using Unity.VisualScripting; using UnityEditor.Callbacks; using UnityEngine; public class MovmentScript : MonoBehaviour { [SerializeField] private TrailRenderer tr; [SerializeField] public Rigidbody2D rb; [SerializeField] float movespeed = 5f; Vector2 moveDirection; Vector2 mousePosition; [SerializeField] float dashSpeed = 10f; [SerializeField] float dashDuration = 1f; [SerializeField] float dashCooldown = 1f; bool isDashing = false; // Update is called once per frame void Update() { if (isDashing == true) { return; } float verticalInput = Input.GetAxis("Vertical"); float horizontalInput = Input.GetAxis("Horizontal"); moveDirection = new Vector2 (horizontalInput, verticalInput).normalized; mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition); if (Input.GetKeyDown(KeyCode.LeftShift)) { StartCoroutine(Dash()); } } private void FixedUpdate() { rb.velocity = new Vector2(moveDirection.x * movespeed, moveDirection.y*movespeed); Vector2 aimDirection = mousePosition - rb.position; float aimAngle = Mathf.Atan2(aimDirection.y, aimDirection.x)*Mathf.Rad2Deg -90f; rb.rotation = aimAngle; } private IEnumerator Dash() { isDashing =true; rb.velocity = new Vector2(moveDirection.x * dashSpeed , moveDirection.y * dashSpeed ); yield return new WaitForSeconds(dashDuration); isDashing = false; Debug.Log ("speed applied"); } }
@shad72703 ай бұрын
When i press the shift key the only thing that happens it the rb moves in the right direction but will stay the same as the movespeed no matter how much i increase the dashspeed.
@MajesticMindGames Жыл бұрын
Lovely ❤👍
@bigp0y Жыл бұрын
We all know it should've been the red knight in the thumbnail
@Apek44 Жыл бұрын
My dash speed variable roesnt make me go faster, its the only thing that doesnt work, no matter what i do it stays constant, i coppied everythign down exactly from this video cause i was so frustrated and it still dont work, maybe its clashign with my other movement code but idk
@Apek44 Жыл бұрын
PLEASE HELP ME BMo IM GOING INSANE TRYING TO FIX THIS BUT BOTHING WORKS
@Unknown-nv9so Жыл бұрын
Have you gotten it fixed yet
@Apek44 Жыл бұрын
@@Unknown-nv9so nope. Gave up on fixing that nd decided to do sum else, sorry
@danilroiven2428 Жыл бұрын
I solved it with changing my character movement function to function rb.MovePosition and dashing with increasing value of the speed. Like rb.MovePosition(rb.position+direction.normalized * speed * Time.fixedDeltaTime); // when player is dashing, speed = dashSpeed, after dash time ends speed = defaultSpeed Also it can be done with rb. velocity for both but in my case i did not solve that in a way that gives player little control while dashing. MovePosition method is easier, just increase the speed while dash time is not ended
@danilroiven2428 Жыл бұрын
@@Unknown-nv9so I solved it with changing my character movement function to function rb.MovePosition and dashing with increasing value of the speed. Like rb.MovePosition(rb.position+direction.normalized * speed * Time.fixedDeltaTime); // when player is dashing, speed = dashSpeed, after dash time ends speed = defaultSpeed Also it can be done with rb. velocity for both but in my case i did not solve that in a way that gives player little control while dashing. MovePosition method is easier, just increase the speed while dash time is not ended
@Somedudewatchingyoutubee Жыл бұрын
Hey so I tried adapting the tutorial without the shooting mechanic. I used the movement script and it worked but when I tried to implement the dash my character didn’t move anymore and the dash didn’t work either. Unity also didn’t recognise the KeyCode Term. Any help would be appreciated! :]
@idabthereforeiam7479 Жыл бұрын
What input system are you using? The new input system doesn't use the .keycode fuction.
@federicorodriguez841911 ай бұрын
It works fine for me, but I can't run the dash diagonally when I press the up-left and down-right keys, but it works when I press up-right and down-left. Does anyone know why this happens?
@arcadeii5 ай бұрын
this is happening to me too, but only with up left and only on the arrow keys, works fine for wasd
@RandomDude0000111 ай бұрын
Idk but I have notice that if you collide with something like enemies of walls when you dash the player rotates like crazy how do I fix that? And hey any Idea how to put a cooldown GUI for this?
@arcadeii5 ай бұрын
you probably figured this out but im pretty sure you have to check “freeze rotation” in the rigidbody settings ?
@ElDonitazz Жыл бұрын
Can you use character controller?
@LaughingMan44 Жыл бұрын
is having a coroutine in update not seen as a bad idea?