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.

Tip: To make sure your bullets fire properly, make sure you remembered to set their Actor Type in the Physics tab to Normal. We covered this in Part 4, Step 26

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.

Let’s continue to Part 11.

Disclaimer: Use comments to provide feedback and point out issues with the article (typo, wrong info, etc.). If you're seeking help for your game, please ask a question on the forums. Thanks!

117 Comments

korn2disturbed
Major thanks to wblument, You're awesome man :)
0 13 years, 2 months ago
toscano
Rock
0 13 years, 2 months ago
coolernow123
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 13 years, 2 months ago
sup bro
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 13 years, 3 months ago
wblument
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 13 years, 3 months ago
micsta77
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 13 years, 3 months ago
ratatosk
phyerboss: sure u did everything correctly? esp the "(xDir:0 yDir:-1) at 40 force"?
0 13 years, 3 months ago
phyerboss
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 13 years, 3 months ago
phyerboss
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 13 years, 3 months ago
freestylrartist
Thanks to Daleman! sat sat there making a 'wah?' face until i read your comment XD
0 13 years, 3 months ago

" id="comment_form">



Please keep your comments civil and do not spam. Thanks for your cooperation!
Sign In to Comment