public class Shooting : MonoBehaviour { public GameObject shot; private Transform playerPos;
public class Shooting : MonoBehaviour
{
public GameObject shot;
private Transform playerPos;
void Start()
{
playerPos = GetComponent<Transform>();
}
void Update()
{
if (Input.GetTouch(0).phase == TouchPhase.Began)
{
Instantiate(shot, playerPos.position, Quaternion.identity);
}
else if (Input.GetTouch(1).phase == TouchPhase.Began)
{
Instantiate(shot, playerPos.position, Quaternion.identity);
}
else if (Input.GetTouch(2).phase == TouchPhase.Began)
{
Instantiate(shot, playerPos.position, Quaternion.identity);
}
}
}
}
Projectile Code
public class Projectile : MonoBehaviour { private Vector2 target; public float speed; private Shake shake; void Start() { shake = GameObject.FindGameObjectWithTag("ScreenShake").GetComponent(); target = Camera.main.ScreenToWorldPoint(Input.GetTouch(0).position); target = Camera.main.ScreenToWorldPoint(Input.GetTouch(1).position); target = Camera.main.ScreenToWorldPoint(Input.GetTouch(2).position); }
public class Projectile : MonoBehaviour
{
private Vector2 target;
public float speed;
private Shake shake;
void Start()
{
shake = GameObject.FindGameObjectWithTag("ScreenShake").GetComponent<Shake>();
target = Camera.main.ScreenToWorldPoint(Input.GetTouch(0).position);
target = Camera.main.ScreenToWorldPoint(Input.GetTouch(1).position);
target = Camera.main.ScreenToWorldPoint(Input.GetTouch(2).position);
}
// Update is called once per frame
void Update()
{
transform.position = Vector2.MoveTowards(transform.position, target, speed * Time.deltaTime);
if(Vector2.Distance(transform.position, target) < 0.2f)
{
Destroy(gameObject);
}
}
void OnTriggerEnter2D(Collider2D other)
{
shake.CamShake();
}
}
}