Hey dude, I've been doing a bunch of your tutorials recently, and I just wanted to thank you. I was stuck for quite a while on my 2d platformer, and now I'm making a whole bunch of progress thanks to these videos!
I searched up tutorials for a solution, because my Fireball wasn't moving until I noticed that I haven't set it to any speed value but then I saw how you made it. And Thank your for the tutorial so my fireball also turns to the mouse position!
Hey guys, for those of whom this does not seem to work, also ensure that your camera is set to orthographic and not perspective. I faced the same problem and struggled so you don't have to. So best of luck with your games, travellers!
If you place your cursor behind the weapon and near/on the player the projectile doesn't shoot correctly. Do you know how to fix this possibly? Also, while moving (say right) and shooting the opposite direction (left) the bullet is somehow overtaken by the player, and doesn't properly fire.
Im getting an error on this line of code: mainCam = GameObject.FindGameObjectsWithTag("MainCamera").GetComponent(); the error says"'GameObject[]' does not contain a definition for 'GetComponent' and no accessible extension method 'GetComponent' accepting a first argument of type 'GameObject[]' could be found (are you missing a using directive or an assembly reference?)" could you help me out?
Can anyone help? My character goes from left to right. When he turns left, the RotatePoint turns with him. Because of that, when he turns left, everything reverses; and the bullets just go into my character.
Thanks for the video Blakeyyy! However when I play the game, clicking right click only spawns in bullets, they don’t go forward at all, any ideas why? Once again thanks for the video!
I had a problem with my gun point rotating weirdly to my cursor, but after a lot of crying and praying I found that I made the simple mistake of confusing WorldToScreenPoint with ScreenToWorldPoint mousePos = mainCam.WorldToScreenPoint(Input.mousePosition); instead of mousePos = mainCam.ScreenToWorldPoint(Input.mousePosition); lol don't be stupid like me also great tutorial it was extremely helpful :)))
Dude you just saved my life I was just about to have the moist life threatening, oxygen taking, the most intense panic attack/suicidal thoughts that even the voices in my head would go quiet. I am very thankful to you my sir, my savior you just opened my eyes wider to this cruel world in more extreme level than Jesus has ever done. Even words can't describe the amount of piece this man has gotten in my life. I can now happily die in piece.
Have you made another tutorial on how to make the bullets destroy the enemies? I've been looking around at other tutorials and none of them seem to be working
I’m having issues with the object the bullets fire from actually following my player? It just stays still even though it’s a child of the object, can anyone help me because I’d love to try to get more work done
This doesn't seem to work for me. I did things step-by-step, and while the little black sprite moves a bit, it is only a bit up and down. It won't follow the mouse completely.
I have a bit of an issue with my rotation point. Since my character has a rotation flip because they walk, when the rotation goes to -1, my block starts to work opposite of the mouse. How can i make it so the rotation point references the Player rotation value? Thanks in advance
I had the same issue but Because I had to flip the gun, you just need to make the rotation angle negative when the player is flipped if(playerisflipped = true { transform.rotation = Quaternion.Euler(0, 0, -rotAngle); } else { transform.rotation = Quaternion.Euler(0, 0, rotAngle); }
@@ratonotota1508 for me i had to change the x value to negative aswell as the rotation angle if (isFacingRight == false) { rotZ = Mathf.Atan2(rotation.y, -rotation.x) * Mathf.Rad2Deg; transform.rotation = Quaternion.Euler(0, 0, -rotZ); }
i have a propel the roation point isnt following my mouse instead its doing what ever my mouse does but on the other side if i am at the left of my player the rotation is on the right and if i move up my aim the rotation goes down any way to fix it?
Hi dude, nice video but I have a question, how can I make the shoot at mouse position with a rectangle? I noticed the incorrect face of the rectangle (side face) points the mouse
praying you still respond, this is the exact type of shooting i wanted but couldn’t find and finally found it. but im at 4:51 in the video and my gun doesn’t move with the mouse like it should
New to to game developement so sorry if this question is stupid: Why do we need a vector3 if we are in a 2d enviroment? Also what does the whole RotZ thing do in the script?
Hey, i have stumbled apon a problem in which the rotating thingy gets flipped too when i flip my character, since its a child of its. Is there a way to fix this without rewriting my entire movent Code? And sorry for my broken english
@@miskasstories8035 I resolved this issue with this : //Method for the mouse position private void Aim() { _mousePosition = mainCamera.ScreenToWorldPoint(Mouse.current.position.ReadValue()); Vector2 lookDirection = _mousePosition - _rigidbody.position;
//Switch the rotZ and x look direction with the direction the player is facing if (!_isFacingRight) { _rotZ = Mathf.Atan2(lookDirection.y, -lookDirection.x) * Mathf.Rad2Deg; AimingPoint.transform.rotation = Quaternion.Euler(0, 0, -_rotZ); } else { _rotZ = Mathf.Atan2(lookDirection.y, lookDirection.x) * Mathf.Rad2Deg; AimingPoint.transform.rotation = Quaternion.Euler(0, 0, _rotZ); }
I added this code in the update function to flip the weapon when it goes above the player's head or below their feet so it's always facing the right direction. weaponRotation is just a sprite renderer I made the the top of the script. And the Weapon tag is on the game object with the weapon sprite. I hope this helps anyone trying to achieve the same thing. weaponRotation = GameObject.FindGameObjectWithTag("Weapon").GetComponent(); if (rotZ > 90 || rotZ < -90) { weaponRotation.flipY = true; } else { weaponRotation.flipY = false; }
this is great and thank you but the problem im having is the point that the bullet shoots at isnt the player its this point on the screen even tho it is a child of the player oh and it doesnt move
So, I have my fire point and such set up, and it fires bullets like I want, but the firepoint rotates in place when I want to rotate it around the player object. Is this a common issue?
void DestroyProjectile() { Destroy(gameObject); } Add a trigger to your bullet on the inspector, and make sure your enemy matches the tag, in my case its enemy
I have an error which says that "object reference not set on an instance" the error is from the line "mainCam = GameObject.FindGameObjectWithTag " The bullet doesn’t move and stays from the position where I fire it from. Also I had to set the private Camera mainCam: to public in Shooting.cs for RotatePoint gameobject and drag the main camera towards the script. Because the gun won't move otherwise as it also shows the same error. I can’t do it with the Bullet script because when I drag the camera towards the bullet's script it says type mismatch.
Hey dunno if your still stuck but if I had to guess, its because the Tag on Camera is called something else. His code tracks the Tag of the camera rather than the actual game object.
This is a great tutorial! The only issue I'm having is that since my game is set up like a 2D platformer like Mario whenever I change direction ( from right to left ) the bullet transform flips and I end up shooting inward instead of out outward. I was wondering if anyone has found a fix for this as I am a beginner game developer with minimal programming experience. Any help would be greatly appreciated :)
I know this is late but maybe you could try running an if statement for this: if(playerFlipped == true) rotation *= -1; (basically just invert rotations to counteract player flip) probably inefficient but if you want to then you could do that (might not work actually im not sure lol)
i am have a error that says Assets\Bullet.cs(9,13): error CS0246: The type or namespace name 'Rigidbody2d' could not be found (are you missing a using directive or an assembly reference?) anyone know how to fix it
Ahh i fixed it. I took out the black box(gun) along the Y sxis from within the parent player object. After i reset the position of the gun (black box) i moved it along the y axis, it worked. Is it because Y axis is the default to follow along the rotation through Z axis?
really great tutorials here thank a lot, but there is an error coming up with the current version on unity saying that the name rotation does not exist and im not sure how to fix this
So invaluable for my coursework - thanks so much! Why are you using Vector3 here though? I thought trying to use Vector3 in Unity2D caused the universe to implode.
Vector2 would’ve been fine here! Wouldn’t affect this situation using vector3, but for clarity it probably would’ve been better for vector2. Luckily the universe was fine in this case though
Ah okay. Thanks so much for the reply! Programming is an anathema to me, so having videos like this that clearly articulate everything step-by-step are immeasurably helpful. I was never taught C#, so I'm learning by doing. Without resources like yours I'd very literally be failing my degree right now because of this one module. @@morebblakeyyy
The only bad thing I noticed is that when the bullet is fired it never disappears, does anyone know how to make it so that when the bullet collides with an object it is destroyed?
I know this is a late response but if you want to make the bullet disappear you will need to do one of two things. Add a float variable to the bullet script that defines the lifespan of the bullet and the create a function to lower that lifespan until it reaches zero and then destroys the object (ie. bulletLifetime -= Time.deltaTime; If(bulletLifetime
Hey @MoreBBlakeyyy Loved the tutorial but i have an issue where you cans see the bullets and they are just stuck in one position so could you please help that would be great!
is it the layers? also if you know anything about my issue help would be awesome, i’m at 4:51 rn and my gun or whatever should move and turn and point to the mouse but it isnt
Thank you! Yeah at some point, I’m not a fan of the new input system and kind of want them to add some more documentation before I do some tutorials on it, just for some added support for people who watch the videos
Check the hierarchy in game, it might be instantiating but it’s just behind the camera, or invisible, etc. If that’s not the case, there must be some code that’s not running correctly. Double check capital letters etc
I have a lot of bullets in my game so I had to make a new variable specifically for the clones and use the Delete function to prevent too much lag, so maybe this solution could work out for you // before the voids with your other variables private GameObject bulClone; public float bulletLife; // this is in seconds ... // under voidUpdate() if(Input.GetMouseButton(0) && canFire) { canFire = false; bulClone = Instantiate(bullet, bulletTransform.position, Quaternion.identity); Destroy(bulClone, bulletLife); // destroys the bullet clone after set number of seconds } I hope this helped with your problem :)
Can you help me understand how to adjust the force value when the player is moving and firing at the same time? so that the bullet is not overtaken by player movement? thanks! great video (i've now subscribed ^^)
i really strugling here. im new into game making and i making a platfromer whit some shooting. trying to put a gun on my guy. want it to rotate around him 360 degrees, 3 problems arise 1: i cant get the gun to rotate around my player whit out the gun spining all around, its that or the gun rotate around its self(like a wheel). 2: phisycs for some reasoning affects my gun even if doesnt have a rb or the rb is on knimatic. 1: turing is way to fast and if my mouse is on the player he becoms a hlicopter. i have no idea what to do tried rotate around ,rotate axis and evert qaun what i neeed to do
I noticed that if the parent's sprite/shape isn't a square, the 'gun' stretches when rotating. How can this be fixed without having to make the player object evenly shaped?
What’s most likely happening is that it’s behind the camera on the Z axis. You need to add an offset in the script where you instantiate the bullet, so you combine a new vector 3 with where you currently spawn it So something like Vector 3 tempPos = new vector3(0,0,10) Instantiate(bullet, transform.position + temppos, quaternion.identity)
thanks bro, i had an issue where the square spawned in a weird spot compared to my mouse, but your comment saved my dumbass hours. it was 270 for me instead but still.
Hey dude, I've been doing a bunch of your tutorials recently, and I just wanted to thank you.
I was stuck for quite a while on my 2d platformer, and now I'm making a whole bunch of progress thanks to these videos!
Thank you for providing an explanation for each line instead of just telling us what to write!
I searched up tutorials for a solution, because my Fireball wasn't moving until I noticed that I haven't set it to any speed value but then I saw how you made it. And Thank your for the tutorial so my fireball also turns to the mouse position!
Hey guys, for those of whom this does not seem to work, also ensure that your camera is set to orthographic and not perspective. I faced the same problem and struggled so you don't have to. So best of luck with your games, travellers!
Bro.. you don't know how much I love you right now!
I appreciate it, thank you!
thank you so much
Truly a lifesaver even after two years
If you place your cursor behind the weapon and near/on the player the projectile doesn't shoot correctly. Do you know how to fix this possibly? Also, while moving (say right) and shooting the opposite direction (left) the bullet is somehow overtaken by the player, and doesn't properly fire.
same problem(
hey! if you dont really care about having the gun looking sprite visible, then you can just change the x in bulletTransform to 0
@@candyandcarmel thanks!
Jesus man. I just found your video. It's amazing how great it works :D Thanks for that man! I definitely come here more often xd
Man, you've saved me, thank you a LOT!! big fannn
Yes!!!
This is what I've been looking for
Thanks a bunch man
Thank you so much for this tutorial it will be extremely helpful for developing the game I'm in the midst of working on
Thanks!!! I managed to convert it to visual code for my game I'm making.
+1 like :)
Im getting an error on this line of code: mainCam = GameObject.FindGameObjectsWithTag("MainCamera").GetComponent(); the error says"'GameObject[]' does not contain a definition for 'GetComponent' and no accessible extension method 'GetComponent' accepting a first argument of type 'GameObject[]' could be found (are you missing a using directive or an assembly reference?)" could you help me out?
I'm having the same problem, did you ever figure it out?
He addresses this problem later in the video at 10:00, you have to make sure that you don't have an "s" in "FindGameObjectWithTag".
@@Spider-Man_12345 Thnks !!!
Can you halp me? I wrote scripts correct but it doesn't work. Do you have any ideas why? Even weapon doesn't rotate.
Can anyone help? My character goes from left to right. When he turns left, the RotatePoint turns with him. Because of that, when he turns left, everything reverses; and the bullets just go into my character.
Thank you, you helped me for my school project :)
yo are u doing something called a personal project?
@@RandomMan10 it was a test for school
Thanks for the video Blakeyyy! However when I play the game, clicking right click only spawns in bullets, they don’t go forward at all, any ideas why? Once again thanks for the video!
exactly the info i needed - thanks
Many thanks! This was clear and concise.
I had a problem with my gun point rotating weirdly to my cursor, but after a lot of crying and praying I found that I made the simple mistake of confusing WorldToScreenPoint with ScreenToWorldPoint
mousePos = mainCam.WorldToScreenPoint(Input.mousePosition);
instead of
mousePos = mainCam.ScreenToWorldPoint(Input.mousePosition);
lol don't be stupid like me also great tutorial it was extremely helpful :)))
Good problem solving, thank you😁
Thanks Bro i love you
Mine said "ScreenToViewportPoint"
THX man
Dude you just saved my life I was just about to have the moist life threatening, oxygen taking, the most intense panic attack/suicidal thoughts that even the voices in my head would go quiet. I am very thankful to you my sir, my savior you just opened my eyes wider to this cruel world in more extreme level than Jesus has ever done. Even words can't describe the amount of piece this man has gotten in my life. I can now happily die in piece.
Have you made another tutorial on how to make the bullets destroy the enemies? I've been looking around at other tutorials and none of them seem to be working
Great Tutorial.
I’m having issues with the object the bullets fire from actually following my player? It just stays still even though it’s a child of the object, can anyone help me because I’d love to try to get more work done
This doesn't seem to work for me. I did things step-by-step, and while the little black sprite moves a bit, it is only a bit up and down. It won't follow the mouse completely.
this does still work! :)
I'm trying to add bullet spread/inaccuracy for a bit of randomisation when you shoot (the direction the bullet goes) but I can't figure out how?
What if i want to hold a button to lock movement?
Good tutorial! I'm wondering what would be the best approach for making a spreadshot effect that builds off this shooting tutorial?
this video so clear and Understandable I hope it continues :D:D:D
Thank you this help A lot!
when having your cursor inbetween the player and the aiming block the projectile shoots down. do you know how to fix this possibly?
I have a bit of an issue with my rotation point. Since my character has a rotation flip because they walk, when the rotation goes to -1, my block starts to work opposite of the mouse. How can i make it so the rotation point references the Player rotation value? Thanks in advance
I had the same issue but Because I had to flip the gun, you just need to make the rotation angle negative when the player is flipped
if(playerisflipped = true
{
transform.rotation = Quaternion.Euler(0, 0, -rotAngle);
}
else {
transform.rotation = Quaternion.Euler(0, 0, rotAngle); }
@@ratonotota1508 for me i had to change the x value to negative aswell as the rotation angle
if (isFacingRight == false)
{
rotZ = Mathf.Atan2(rotation.y, -rotation.x) * Mathf.Rad2Deg;
transform.rotation = Quaternion.Euler(0, 0, -rotZ);
}
Hi.
How can i make the player stay in his place and only the gun will move?
how to make circles that spawn with different sizes?
you are a legend , i love you
i have a propel the roation point isnt following my mouse instead its doing what ever my mouse does but on the other side if i am at the left of my player the rotation is on the right and if i move up my aim the rotation goes down any way to fix it?
thank you so much! This video really helped!
mine bullets go opposite of my character if i go left they go right
Hi dude, nice video but I have a question, how can I make the shoot at mouse position with a rectangle? I noticed the incorrect face of the rectangle (side face) points the mouse
praying you still respond, this is the exact type of shooting i wanted but couldn’t find and finally found it. but im at 4:51 in the video and my gun doesn’t move with the mouse like it should
New to to game developement so sorry if this question is stupid: Why do we need a vector3 if we are in a 2d enviroment? Also what does the whole RotZ thing do in the script?
a Vector2 only have x and y but a vector 3 have x,y and z
Works nice! Thank you
if you dont get it to point in the right pos just add 90 degres
my bullettransform is following the camera and the camera is in the middle of the world please someone help
how do i get the bullets to die on collision
how do i assign it into two cameras?
Hey, i have stumbled apon a problem in which the rotating thingy gets flipped too when i flip my character, since its a child of its. Is there a way to fix this without rewriting my entire movent Code? And sorry for my broken english
Im working on a 2d sidescorller btw so this is why i have to flip my player
@@miskasstories8035 I resolved this issue with this :
//Method for the mouse position
private void Aim()
{
_mousePosition = mainCamera.ScreenToWorldPoint(Mouse.current.position.ReadValue());
Vector2 lookDirection = _mousePosition - _rigidbody.position;
//Switch the rotZ and x look direction with the direction the player is facing
if (!_isFacingRight)
{
_rotZ = Mathf.Atan2(lookDirection.y, -lookDirection.x) * Mathf.Rad2Deg;
AimingPoint.transform.rotation = Quaternion.Euler(0, 0, -_rotZ);
}
else
{
_rotZ = Mathf.Atan2(lookDirection.y, lookDirection.x) * Mathf.Rad2Deg;
AimingPoint.transform.rotation = Quaternion.Euler(0, 0, _rotZ);
}
}
Hope it helps !
@@miskasstories8035 Are you flipping your player by multiplying the local scale by -1?
is there any way to change the center of the rotating weapon? Mine is below the player
I added this code in the update function to flip the weapon when it goes above the player's head or below their feet so it's always facing the right direction. weaponRotation is just a sprite renderer I made the the top of the script. And the Weapon tag is on the game object with the weapon sprite. I hope this helps anyone trying to achieve the same thing.
weaponRotation = GameObject.FindGameObjectWithTag("Weapon").GetComponent();
if (rotZ > 90 || rotZ < -90)
{
weaponRotation.flipY = true;
}
else
{
weaponRotation.flipY = false;
}
Someone please help it doesnt let me put the * symbol or theres an error but when i delete it theres more errors
this is great and thank you but the problem im having is the point that the bullet shoots at isnt the player its this point on the screen even tho it is a child of the player
oh and it doesnt move
I am trying to add this code to my player, and I get a bunch of errors. Can anyone help?
thank you very much for your tutorial! do you have one on/know how to make the bullets hurt/kill enemies?
So, I have my fire point and such set up, and it fires bullets like I want, but the firepoint rotates in place when I want to rotate it around the player object.
Is this a common issue?
theres no delay on the bullets for me, despite the fact I have time between firing at 4?
It's not working
for some reason is says all compiler errors have to be fixed and i dont know why because i did everything you said to do
Can you help me to understand how to change the bulletTransform with diffrent weapon , thx
How do you delete the bullets after some time?
Mine says Object reference not set to an instance of an object
The shooting works fine but I can't seem to figure out how to detect when the bullet hits an enemy, any help?
void OnTriggerEnter2D(Collider2D other)
{
if(other.CompareTag("Enemy"))
{
DestroyProjectile();
}
}
void DestroyProjectile()
{
Destroy(gameObject);
}
Add a trigger to your bullet on the inspector, and make sure your enemy matches the tag, in my case its enemy
Hey man! Thanks for the video can you possibly create a tutorial how to detect collison with terrain and enemies?
I have an error which says that "object reference not set on an instance" the error is from the line
"mainCam = GameObject.FindGameObjectWithTag "
The bullet doesn’t move and stays from the position where I fire it from.
Also I had to set the private Camera mainCam: to public in Shooting.cs for RotatePoint gameobject and drag the main camera towards the script. Because the gun won't move otherwise as it also shows the same error.
I can’t do it with the Bullet script because when I drag the camera towards the bullet's script it says type mismatch.
Hey dunno if your still stuck but if I had to guess, its because the Tag on Camera is called something else. His code tracks the Tag of the camera rather than the actual game object.
@@unamusedrowlett6303 I solved it by just copying another different tutorial lol but thanks for the effort
Can you do a boss fight tutorial?
at first it works fine with the mouse when not moving but when iam moving the gun rotating but iam not touching mouse at all
Thanks brother, but I have a problem when the player moves to the left, move the bullet against the movement of mouse
If someone can help than thank you because every time I shoot the Canfire gets disabled can anyone help
This is a great tutorial! The only issue I'm having is that since my game is set up like a 2D platformer like Mario whenever I change direction ( from right to left ) the bullet transform flips and I end up shooting inward instead of out outward. I was wondering if anyone has found a fix for this as I am a beginner game developer with minimal programming experience. Any help would be greatly appreciated :)
I know this is late but maybe you could try running an if statement for this:
if(playerFlipped == true)
rotation *= -1;
(basically just invert rotations to counteract player flip)
probably inefficient but if you want to then you could do that (might not work actually im not sure lol)
Brackeys have made a tuturial where he talks about enemy pathfinding, where he needs to flip the graphics of the enemy maybe that could work.
i am have a error that says Assets\Bullet.cs(9,13): error CS0246: The type or namespace name 'Rigidbody2d' could not be found (are you missing a using directive or an assembly reference?) anyone know how to fix it
did you add a rigidbody to the bullet?
In my gameobject the gun always stays +90deg in Z axis(if my cursor pos is perpendicular to the 0 deg in z axis)
Ahh i fixed it. I took out the black box(gun) along the Y sxis from within the parent player object.
After i reset the position of the gun (black box) i moved it along the y axis, it worked. Is it because Y axis is the default to follow along the rotation through Z axis?
really great tutorials here
thank a lot,
but there is an error coming up with the current version on unity saying that the name rotation does not exist and im not sure how to fix this
I'm a bit late to the party, but can anybody tell me why my cursor thing is going crazy? Also, the bullet shoots in the opposite direction. Cheers!
So invaluable for my coursework - thanks so much!
Why are you using Vector3 here though? I thought trying to use Vector3 in Unity2D caused the universe to implode.
Vector2 would’ve been fine here! Wouldn’t affect this situation using vector3, but for clarity it probably would’ve been better for vector2. Luckily the universe was fine in this case though
Ah okay. Thanks so much for the reply! Programming is an anathema to me, so having videos like this that clearly articulate everything step-by-step are immeasurably helpful. I was never taught C#, so I'm learning by doing. Without resources like yours I'd very literally be failing my degree right now because of this one module. @@morebblakeyyy
@SuperCosmicSpaceMagnet no prob! I’m still learning everyday, it’s a never ending journey. Best of luck with your module!
but object is not firing
Thank god man you saved me a lot
The only bad thing I noticed is that when the bullet is fired it never disappears, does anyone know how to make it so that when the bullet collides with an object it is destroyed?
just add Destroy(this.gameObject, 5);
I know this is a late response but if you want to make the bullet disappear you will need to do one of two things. Add a float variable to the bullet script that defines the lifespan of the bullet and the create a function to lower that lifespan until it reaches zero and then destroys the object (ie. bulletLifetime -= Time.deltaTime; If(bulletLifetime
Hey @MoreBBlakeyyy Loved the tutorial but i have an issue where you cans see the bullets and they are just stuck in one position so could you please help that would be great!
is it the layers? also if you know anything about my issue help would be awesome, i’m at 4:51 rn and my gun or whatever should move and turn and point to the mouse but it isnt
This tutorial is awesome! Do you plan to make something similiar in new InputSystem? I would like to add this behaviour to my game!
Thank you! Yeah at some point, I’m not a fan of the new input system and kind of want them to add some more documentation before I do some tutorials on it, just for some added support for people who watch the videos
thank you so much
Nice and Quick
I followed exactly the video, but after I turn it on and I want to shoot, the bullet doesn't appear. What should I do?
Check the hierarchy in game, it might be instantiating but it’s just behind the camera, or invisible, etc. If that’s not the case, there must be some code that’s not running correctly. Double check capital letters etc
can you make an shotgun with code or not?
Thank you!
Thank you So much Mate!♥
But can you make a tutorial about Animation in Unity and how to deel with? And keep it simple like you always do♥
Of course👌🏻
Is the bullet supposed to make clones? I have no way to delete this so idk, I also made sure the bullet isnt in the Heirarchy and its in assets
I have a lot of bullets in my game so I had to make a new variable specifically for the clones and use the Delete function to prevent too much lag, so maybe this solution could work out for you
// before the voids with your other variables
private GameObject bulClone;
public float bulletLife; // this is in seconds
...
// under voidUpdate()
if(Input.GetMouseButton(0) && canFire)
{
canFire = false;
bulClone = Instantiate(bullet, bulletTransform.position, Quaternion.identity);
Destroy(bulClone, bulletLife); // destroys the bullet clone after set number of seconds
}
I hope this helped with your problem :)
thank you!@@airconditioningac
Can you help me understand how to adjust the force value when the player is moving and firing at the same time? so that the bullet is not overtaken by player movement? thanks! great video (i've now subscribed ^^)
you need to sow down the player speed or speed up the bullet's speed
i really strugling here. im new into game making and i making a platfromer whit some shooting. trying to put a gun on my guy. want it to rotate around him 360 degrees,
3 problems arise 1: i cant get the gun to rotate around my player whit out the gun spining all around, its that or the gun rotate around its self(like a wheel).
2: phisycs for some reasoning affects my gun even if doesnt have a rb or the rb is on knimatic.
1: turing is way to fast and if my mouse is on the player he becoms a hlicopter. i have no idea what to do
tried rotate around ,rotate axis and evert qaun
what i neeed to do
The same thing happens to me, have you solved it yet?
for the turning too fast problem, you can add a public float sensitivity, and then multiply the rotZ * sensitivity in the transform.rotation
I noticed that if the parent's sprite/shape isn't a square, the 'gun' stretches when rotating. How can this be fixed without having to make the player object evenly shaped?
hi, did you ever find a solution to this?
Hi could you help me with this: NUllReferenceException: Object reference not set to an instance of an object Shooting.Update ()
I got that to
I have the same probelm
do u have solution ?
simplemente genial master!!!!
really usefull but i cant see the bullet, can you help me please?. The Bullet exists and i can see it on the Scene window just not on the Game window
What’s most likely happening is that it’s behind the camera on the Z axis.
You need to add an offset in the script where you instantiate the bullet, so you combine a new vector 3 with where you currently spawn it
So something like
Vector 3 tempPos = new vector3(0,0,10)
Instantiate(bullet, transform.position + temppos, quaternion.identity)
@@bblakeyyy yes it is some error of the z axis but this script didnt solve it. It makes perfect sense but it doesnt work
i made my script just like yours and my bullets will fire, but they wont move
You probably dont setted the force variable in unity inspector
How do you andjust the speed of the bullet? Great video btw, helped me a lot:)
Increase the force.
ty man i added these to my mobile game but does this work on mobile?
Will need to use mobile touch api to convert this, have a look through the Unity docs :)
transform.rotation = Quaternion.Euler(0,0, rotZ + 90);
Thanks You Help Me
Make sure to subscribe!
This method only works correctly today if u add 180 to rotZ value.
Not necessarily. Method is the same as release date but more dependant on rotation of your sprite, it’s configurable dependant on the situation
thanks bro, i had an issue where the square spawned in a weird spot compared to my mouse, but your comment saved my dumbass hours. it was 270 for me instead but still.
If anyone sees this pls help me my bullets arent moving their just sitting in the air!
Better than Brackeys
9:25
First
thank you👍