The bullet needs to shoot straight on the x axis, meaning that it doesn't have a rigidbody. For damage we can write method, wich subtract damage variable from health points. Now if we run our game we will see that the player and enemy can now shoot without hitting themselves. Step The enemy ship needs a shooting script. To do that we start by opening the project settings window.
Next step We have a shooter! Next, we want to be able to control the spaceship so we will need to write some code. Then add a new script component to the bullet, like we did with the spaceship. In the method of instantiate we are using is public static Object Instantiate Object original, Vector3 position, Quaternion rotation. Do that from now on if you want help. We can get the position from our ship with transform. Last thing is that there is no need to check if the enemy's health is lower than 0 every frame, you can just move it inside the ApplyDamage method after you subtract from the enemy's health.
Change the y position of the spaceship to -4 to put it at the bottom of the screen. Right now, if you walk off the edge of the platform the character will spin out of control and the camera will spin with them! Remove goLetter ; } } } } } I tried moving everything from Update into a separate function called Shoot and called that from Update. Delete Circle Collider 2D right-click on Circle Collider 2D and select Remove Component. And set force to something like 5 it is force power. If we will shoot, we should just spawn Laser on ships position. Add Space Music to it.
The only problem is that I have no idea how I let shoot the cubes at the player. We should use SceneManager for scenes reload. If you want to learn more about 2D cameras, check out this article on. This is key to Unity: each object has some components attached to it. About is a subreddit for news, tutorials, feedback, resources, and conversations related to 2D or 2.
We have copied the code from our player here and changed it so we use the target position instead of the mouse click position to direct the bullet. Now we need to update our player and enemy scripts so they set the layer for the bullets. So if I'm not mistaken your problem is that the code isn't working correctly and your enemy isn't dying. Set Spawn Delay to 5. This subtracted vector can be used as direction from players ship to clicked position. Now if we run our game.
Our script will then use the spawnpoint game object as our Spawnpoint Transform in our script. All we have to do is after we create our bullet set its layer to the layer we want it on. I also chose a sprite that faces forward so I can get away without animating him. I'd like to have the projectiles move at a constant speed and not follow the cursor but rather travel in a straight line anyone got any clues? For projectiles that don't track the mouse, like a bullet: using UnityEngine; using System. So we have a simple cooldown mechanism. Add this script to it. To do so, drag and drop the bullet from the hierarchy tab to the Prefabs folder and then delete the bullet from the scene.
The Enemy will check where Player is and periodically spawn one Bullet wich will calculate direction to Player and fly to them. We need a new script to fire shots. A topic that I answer a lot of on stack overflow is about Textures and Texture Regions so a guide on this will be added. Add Box Collider 2D to it. I would also like to create a Unity 2d game development walkthrough tutorial series or more Unity 2d tutorial for beginners so your ideas are most welcome, thanks! This now allows us to walk past the right of the screen without losing sight of the character.
I'm currently creating a scrip that handles the projectile movement and it's almost where I want it to be. Change first and last color points to something what you like. Make sure the shot and the Poulpi are on the same line to test the collision. Change its Order in Layer to -6. Make sure to set it to be a trigger as we will use the onTriggerEnter method to trigger getting hit.