web version of the doc - Recommended.
Verssion : 0.06
Updated : December 2017
Developer : Shohanur Rahaman
Contact : shohan4556@gmail.com
web : techshohan.me
The easiest to way to see Use Laser2D create a Parent Gameobject (that could be player/ship sprite) then drag the Prefab and make it child of the parent object. Add the Sprite Light material to the enemy gameobject. Play the game and Click the Right Mouse Button.
To Change a Laser Color go through the child object > find the Laser Glow gameobject and change the sprite color.
Ray Begin Pos : This is the position where the laser beam starts from.
Enemy Hit layer : you Enemy should be in Enemy Layer, you can also add multiple layers.
Ray Size : This is the invisible Ray size or Raycast Size.
Laser Size : This is the visible Laser size. Adjust the size according to your need.
Laser Glow Size : This is the Laser glow size adjust the size with Laser Size
Laser Damage : This is the damage for the Enemy.
Ray Duration : Laser firing duration in second.
Laser Hit Emitter : Laser Hit emitter prefab.
Laser Melt Emitter : Laser Melting Prefab.
Laser Glow : Laser glowing sprite.
Laser Dir : Laser direction, use it for changing direction. Its not changeable in
runtime you need to define it before playing the game. Available laser direction Top, Down, Left and Right.
The easiest way to use Four directional laser is using Prefab there are four prefabs L2D-Top, L2D-Down, L2D-Left & L2D-Right you can use any of them. There is another way is Changing the Laser Direction.
To give damage on Enemy gameobject create a tag name as Enemy and add it to the enemy object. Edit the code inside the Update method.
/*-------------------- Enemy Damage -------------------- */
if (hit.collider.tag == "Enemy") {
hit.collider.gameObject.GetComponent<L2DEnemyHealth().giveDamage(laserDamage);
}
/*------------------------------------------------------ */
Tips : For better performance you can cache the EnemyHealth script inside Start method.
To modify input go through the LaserBeam
script and find the FireLaser
function you can find there the input code. Its easy to change the code.
Here is an example, assumes that you have a script Myscript
you can simply do it like this from Myscript
public LaserBeam laserbeam; // drag the LaserBeam gameobject
void Start()
{
if(laserbeam==null){
laserbeam = Gameobject.FindObjectOfType<LaserBeam>();
}
}
void Update()
{
if( Input.GetButtonDown(keyCode.Space){
laserbeam.FireLaser();
}
}
Note : Don’t forget to comment out the FireLaser
method form the LaserBeam
script.