Making 2d gun system but getting problem.

My codes are here.

My player movement code,

var speed = 25.0f;
var health = 5;
var dmg = 1;
var X : float;
public var bl : boolean;
var firePrefab : Transform;
var barrelEnd : Transform;

function Start(){
	X = transform.localScale.x;
}
function Update () {
	
	if(Input.GetKey(KeyCode.D)){
		transform.position.x += speed * Time.deltaTime;
		transform.localScale.x = X;
		bl = true;
	}
	
	if(Input.GetKey(KeyCode.A)){
		transform.position.x -= speed * Time.deltaTime;
		transform.localScale.x = -X;
		bl = false;
	}
	
	if(Input.GetKey(KeyCode.W)){
		transform.position.y += speed * Time.deltaTime;
	}
	
	
	if(health == 0){
		Application.LoadLevel(0);
	}
	
	if(Input.GetKey(KeyCode.Space)){
		Instantiate(firePrefab, barrelEnd.position, barrelEnd.rotation);       
	}
	
	
	
}

function OnCollisionEnter(col : Collision){
    
	if(col.gameObject.name == "EnemyRight"){        
        health -= dmg;		
    }
	
	if(col.gameObject.name == "EnemyLeft"){        
        health -= dmg;		
    }
	
}

And my Fire script here,

var speed = 5.0f;
var Player : GameObject;
private var mov : Movement;

function Awake () {
mov = Player.GetComponent(Movement);
}


function Update(){

	if(mov.bl == true){
		transform.position.x += speed * Time.deltaTime;
	}
	
	else if(mov.bl == false){
		transform.position.x -= speed * Time.deltaTime;
	}	
}

function OnTriggerEnter(col : Collider){
	if(col.gameObject.name == "EnemyRight"){
		Destroy(col.gameObject);
	}
	if(col.gameObject.name == "EnemyLeft"){
		Destroy(col.gameObject);
	}
}

My problem is when I press Spacebar it instantiate bullet there is no problem it absoluetly work well but when I turn left my bullet turn left in the same way.

[29400-adsız.png|29400]

How I fix it and how I make realistic 2d gun physics. If you don’t understand I can make video :slight_smile:

Thanks :slight_smile:

Oh I fixed it, I make two bullet for two side :=)