Creating a small shooting game in AS3
Tweet
In this tutorial you will learn how to create a small “shooting stars” game using Flash and ActionScript 3. Let’s get started!
1. Open a new Flash document and save it under “ShootingGame.fla”. Set its size to 500 x 300 pixels.
2. First of all we need to draw the sight of our weapon. So rename the first layer to “sight”. Take the Oval Tool and from the properties panel set its properties to Solid, Disabled Fill, Stroke height should be set to 3.
Then take the Selection tool, select a part of the circle and cut it like this:

The final step is to take the Line tool and to draw a cross. Just change the Stroke height value to 1.5. Select the whole sight and convert it to Movie Clip with instance name “sight” and registration point center.
3. Now our sight is ready and we need to draw a star. Take the PolyStar Tool and set it properties like this:

If your star is ready, select it and convert it to Movie Clip with registration point center. Linkage the star to class Star by going to the Library panel (Ctrl + L), right-clicking the Star movie clip and then setting the class name. Remove the star from the stage.

4. Take the text tool and first create a Static text field and type “Score:”. Then create a dynamic text field with instance name “points_txt” and position it next to the static text field. Embed the Numeral values for the font and for color choose #FF0000. Align the text fields to the bottom right part of the stage.
5. Create a new layer called “actions”, open Actions Panel and type this:
//importing tween classes
import fl.transitions.easing.*;
import fl.transitions.Tween;
//hiding the cursor
Mouse.hide();
//creating a new Star instance
var star:Star = new Star();
//creating the timer
var timer:Timer = new Timer(1000);
//we create variables for random X and Y positions
var randomX:Number;
var randomY:Number;
//variable for the alpha tween effect
var tween:Tween;
//we check if a star instance is already added to the stage
var starAdded:Boolean = false;
//we count the points
var points:int = 0;
//adding event handler on mouse move
stage.addEventListener(MouseEvent.MOUSE_MOVE, cursorMoveHandler);
//adding event handler to the timer
timer.addEventListener(TimerEvent.TIMER, timerHandler);
//starting the timer
timer.start();
function cursorMoveHandler(e:Event):void{
//sight position matches the mouse position
sight.x = mouseX;
sight.y = mouseY;
}
function timerHandler(e:TimerEvent):void{
//first we need to remove the star from the stage if already added
if(starAdded){
removeChild(star);
}
//positioning the star on a random position
randomX = Math.random()*500;
randomY = Math.random()*300;
star.x = randomX;
star.y = randomY;
//adding the star to the stage
addChild(star);
//changing our boolean value to true
starAdded = true;
//adding a mouse click handler to the star
star.addEventListener(MouseEvent.CLICK, clickHandler);
//animating the star's appearance
tween = new Tween(star, "alpha", Strong.easeOut, 0, 1, 3, true);
}
function clickHandler(e:Event):void{
//when we click/shoot a star we increment the points
points ++;
//showing the result in the text field
points_txt.text = points.toString();
}





How would you add more than one star onto the game?
works
where do i get Actionscript 3?
how can i stop this after a certain amount of time for example one minute or two?
thanks for teach me…..
How can I add a counter to end game if player hits a designated number of stars and bring up a congrats screen
Hi Mr. Bussani shoot them stars:)
great tutorial really useful since there aren’t many of them unless you get a book but it says “1046: Type was not found or was not a compile-time constant: Star || var star:Star = new Star();” and i have checked all the pieces of code to do with the star and they all capital “s”s and the star movie clip is the right name could you help me please?
I think you haven’t done the linkage part. Link the movie clip to a Star class.
You don’t say anything about the ” public class Srtrong extends Object ”
… this is inside the flash transitions class ?
( we automatic import this part of the code ? )
… I find this part of code with decompilator program !
Thank you for sharing us this code. I really need this for my upcoming project. It really helped me a lot and others.))))))
How to pause the game and add sound
how do you move the star to the movie clip and setting the class name
@Simon Stoevring
wow you don’t know how to do that
hello can you help me with something
Hi, I have tried doing the shooting program, but the target always behind the star. May I know the reason why?
@bob smith
how do you increase the stars as the point increases..?
hi, i know this has been posted almost 2 years ago but i require help with the following.
basically ive developed this into my flash cs5 as3 presentation, however im trying to develop it so that i am able to use the cursor outside the game (to click on navigations buttons), which its not allowing me to do at the moment.
any help on this will be much appreciated
@anonymous-programmer
ok if any of you guys are having the same problem, i basically removed the following:
//Mouse.show();
//stage.addEventListener(MouseEvent.MOUSE_MOVE, cursorMoveHandler);
//function cursorMoveHandler(e:Event):void{
//sight position matches the mouse position
//sight.x = mouseX;
//sight.y = mouseY;
//}
This removes the sight. and allows access to the parent layers