Question by
Legit_Nova · Apr 09, 2021 at 03:53 PM ·
unity 2dcharactercontrollerbulletcharacter movement
Character wont shoot to the left in Unity 2D
I've been dealing with this problem for a few hours now and every tutorial I watch is sort of able to solve the problem but creates a new one. Basically, my 2d character won't shoot to the left even when it's aiming in that direction. I feel like it's a simple line that I need to switch or add but I can't figure it out. Below is my Character Movement script.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Character2DController : MonoBehaviour
{
Vector3 characterScale;
float characterScaleX;
void Start()
{
characterScale = transform.localScale;
characterScaleX = characterScale.x;
}
void Update()
{
// Move the Character:
transform.Translate(Input.GetAxis("Horizontal") * 8f * Time.deltaTime, 0f, 0f);
// Flip the Character:
if (Input.GetAxis("Horizontal") < 0)
{
characterScale.x = -characterScaleX;
}
if (Input.GetAxis("Horizontal") > 0)
{
characterScale.x = characterScaleX;
}
transform.localScale = characterScale;
}
}
Here is my Shooting Script
using UnityEngine;
public class Weapon : MonoBehaviour
{
public Transform firePoint;
public GameObject bulletPrefab;
void Update()
{
if (Input.GetButtonDown("Fire1"))
{
Shoot();
}
}
void Shoot ()
{
Instantiate(bulletPrefab, firePoint.position, firePoint.rotation);
}
}
Finally, the Bullet script
using UnityEngine;
public class Bullet : MonoBehaviour
{
public float speed = 20f;
public int damage = 40;
public Rigidbody2D rb;
void Start()
{
rb.velocity = transform.right * speed;
}
void OnTriggerEnter2D (Collider2D hitInfo)
{
Enemy enemy = hitInfo.GetComponent<Enemy>();
if (enemy != null)
{
enemy.TakeDamage(damage);
}
Destroy(gameObject);
}
}
Comment
Your answer
Follow this Question
Related Questions
How to set a start_walking animation using blentree 2 Answers
First Person camera can't look vetically 0 Answers
Instantiate offset - Snake game 0 Answers
Character swap breaks movement. 1 Answer
Rotate on key press to an end 0 Answers