251,342
Views
Beginner
Level
117
Comments
Crash Course 2: Invaders - Part 10
by Hectate (Updated on 2015-05-02)
Part 10: Enabling Our Ship to Fire Bullets
Step 73: Our next Event will create a Bullet Actor and set it in motion when the player presses a keyboard key. Click the + Add Event button, mouse over Input, and select Keyboard. Remember, we should already be in the Ship's events screen to create this.

Step 74: On the block that appears, set the control dropdown to action 1, as shown.

Step 75: Now we need to grab two blocks, one that creates our Bullet Actor and another that sends it on its way.

The first is under Scene -> Actors in the Palette. The second is under Actor -> Motion.
Select the Bullet Actor Type by clicking on the dropdown on the create Actor Type block, and in the blue push [Actor] block, change the [Self] field to [last created actor] and [gently] to [sharply]. Snap them together into the Event block, as shown.

Step 76: Next, we need to set where the Bullet is created and the direction it should travel in. For the x and y values, set them to x of self and y of self, which is the current position of the Ship on screen. This block is in Actor > Position. Alternatively, cClick on each dropdown (for x and y) to choose the x of self block from the Actor category in the Block Picker. Then switch the [x] to [y] in the second block, as shown.

Step 77: From here, we set the direction and force the Bullet Actor will launch at in the push [Last Created Actor] block. Set xDir to 0 (we only want the Ship to shoot bullets toward the Enemy Ships, which is up, not horizontally) and yDir to -1. Remember, that “up” on a computer screen is in the negative y direction. Lastly, set force to 40.

Test the game again, and press Action 1 to shoot your bullets (should be Z by default).
We now need to ensure our Bullet Actors are destroyed when they collide with the Enemy Ships and when they leave the screen.
117 Comments
I'm afraid I might lose all my knowledge when I make a real game, but good tutorial so far, other than the fact that I really don't get the logic behind this at all.
1
the bullets are not firing.I checked everything like twenty times. Yes, my actor type is set to normal but its still not working. Please help!!!!!
0
If bullets not moving, you are not crazy! Back on step 26, there was a miss-print. Should have said to set actor type to NORMAL (instructions read "No"). (To fix, Change "Bullet" actor type to "normal" in "what kind of actor type?"
3
Had same prob but checked physics of bullets, turned out I had actor type set to cannot move for some reason.... All good now.
0
Alright, forget this lesson! Something is borked here as no matter what I do. I cannot get the blasted bullets to fly upwards from the ship! Im stumped on this and not seeing any responses(most likely because everyone is tired of reading
0
Ok, Im missing something here. I re-read these comments and followed these steps verbatim. I can get the bullets to come out. But all they do is "hang" there. They dont fly upward or anything.
0
Thanks to Daleman! sat sat there making a 'wah?' face until i read your comment XD
0





