Question by
Kikenz · May 05, 2016 at 08:27 PM ·
c#2d gamebulletgun script
How to move a bullettrail the direction the player is facing
I have a gun that shoots a bullettrail, and it works in the direction i am facing at the beginng. But if I turn the player the bullettrail shoots in the same direction. I want to know how to turn the bullettrail with the player
Code for spawning bullettrail:
public int moveSpeed = 230;
// Update is called once per frame
void Update () {
transform.Translate (Vector3.right * Time.deltaTime * moveSpeed);
Destroy(gameObject, 1);
}
This is the code i use for the gun:
public float fireRate = 0;
public float Damage = 10;
public LayerMask whatToHit;
public Transform BulletTrailPrefab;
float timetoSpawnEffect;
float timeToFire = 0;
public float effectSpawnRate = 10;
Transform firePoint;
Transform EndPoint;
// Use this for initialization
void Awake()
{
firePoint = transform.FindChild("FirePoint");
EndPoint = transform.FindChild("Endpoint");
if (firePoint == null)
{
Debug.LogError("No FirePiont? WHAT!");
}
if (EndPoint == null)
{
Debug.LogError("No endpoint faggot");
}
}
// Update is called once per frame
void Update()
{
if (fireRate == 0)
{
if (Input.GetButtonDown("Fire1"))
{
Shoot();
}
}
else
{
if (Input.GetButton("Fire1") && Time.time > timeToFire)
{
timeToFire = Time.time + 1 / fireRate;
Shoot();
}
}
}
void Shoot()
{
Vector2 firePointPosition = new Vector2(firePoint.position.x, firePoint.position.y);
Vector2 endPointPosition = new Vector2(EndPoint.position.x, EndPoint.position.y);
RaycastHit2D hit = Physics2D.Raycast(firePointPosition, endPointPosition - firePointPosition, 100, whatToHit);
if (Time.time >= timetoSpawnEffect)
{
Effect();
timetoSpawnEffect = Time.time + 1/effectSpawnRate;
}
Effect();
Debug.DrawLine(firePointPosition, endPointPosition, Color.white);
if (hit.collider != null)
{
Debug.DrawLine(firePointPosition, hit.point, Color.magenta);
Debug.Log("Sumo hit " + hit.collider.name + " and did " + Damage + " Damage");
}
}
//spawns bullettrail
void Effect()
{
Instantiate(BulletTrailPrefab, firePoint.position, firePoint.rotation);
}
Comment