Free ActionScript

Flash AS2 & AS3 Tutorials, Game Code, Effects, Source Files & Sample Downloads

Advanced Weapon System

Made additional changes and improvements based on feedback from the community.

Change List v1.1.2

  • Sabdrenss128 helped optimize the remove object method
  • Added constants for weapon types
  • Optimized bullet/laser code
  • Removed laser memory leak bug
  • Other speed optimizations

Preview v1.1.2

Download Fla Sample

Download Fla Sample

Weapon Manager Methods

  • Add Weapon
  • Remove Weapon
  • Fire Weapons
  • Stop Weapons
  • Add Bullet
  • Remove Bullet
  • Add Solid Object
  • Remove Solid Object
  • Update Weapons
  • Update Bullets
  • Check Collisions

Weapon Methods

  • Constructor
  • Create Barrel
  • Fire Barrels
  • Update Rotation
  • Update Barrels
  • Create Display objects
  • Destroy Display objects
  • Destroy

Available Weapon Settings

  • ID
  • Skin
  • Current x, y, rotation
  • Max rotation speed
  • Reload speed
  • Bullet spread (accuracy)

Available Barrel Settings

  • Skin
  • Barrel Length
  • Current x, y, rotation

Available Bullet Settings

  • Skin
  • Bullet speed
  • Max travel distance
  • Bullet life time
  • Current x, y, rotation

Change List v1.1.1

  • Added Laser weapon
  • Gave bullets life timer
  • Removed unused vars
  • Added global shared vars
  • Updated package names

Refactored my AS3 multi-barrel gun code to be even more flexible using the Composition design pattern. This allowed me to create a weapon system that’s easily extendable to include different types of weapons.

Current implementation includes single, dual and quad barrel projectile guns and laser guns. Included weapon classes are easily duplicated to create additional different weapons. Laser guns can be set to pulse or beam settings. See examples for details.

I also added a WeaponManager class that handles creation, update and destroy functions of weapons, bullets and solid objects. Performs collision detection, display updates and more. Easily add your enemies thru the weapon manager and let it handle all the collision detection/reaction.

Added custom skin support for the Weapon platform, Barrel/Turret, Bullet & Laser beam. Laser beam is easily customizable as well.

Wish List

  • Give each bullet its own target
  • Fire one barrel at a time
  • Fire multiple bullets from one barrel
  • Add Guided Missile weapon
  • Better collision detection
  • Use interfaces
  • Add DisplayManager (perhaps use Blitting to draw graphics)
  • Use Vectors instead of Arrays

Laser Weapon (with wall collision detection)

This is an AS3 update to my old AS2 laser script with a few improvements:

  • You can now easily check if the laser is hitting multiple walls by adding movieclips to an array
  • I also added a delayed turret rotation – this way the turret doesn’t feel “glued” to the mouse
  • Optimized and cleaned up the code

You can set the following weapon settings:

  • turret rotation speed – how fast turret rotates towards mouse. default is 20
  • barrel length – how far from turret laser starts drawing. default is 15
  • laser range – default is 100
  • laser color – default is green #00FF00
  • laser width – default is 2
  • laser blur strength – default is 2


Download Fla Sample

Download Fla Sample

Laser Hitting Solid Objects & Walls

As the title suggests, this is a laser weapon script that shoots a laser beam. The beam stops when it hits solid objects. Written in AS2 to be used in Flash shooter games.

Download Fla Sample

Download Fla Sample

If you’re having trouble understanding how this script works, please review previously posted examples that were incorporated in to this script: Shooting Laser Weapon & Apply Filters Dynamically.

ActionScript 3 version of this script is available here:

Weapon – Shooting Laser

This script shows you how to shoot a laser weapon from the player movieclip towards the mouse x & y position.

Game Engine – Shooting Laser Weapon

Download Fla Sample

Download Fla Sample

Customizable Game Weapon Settings:

  • reload speed
  • laser offset
  • laser width
  • laser color
  • laser alpha

Read the rest of this entry »