Tank2D.cs
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Tank2D : MonoBehaviour { public Transform bulletSpawnPoint; public GameObject bulletPrefab; public float bulletSpeed = 10; public float moveSpeed = 2; void Update() { Movement(); Shooting(); } void Movement() { float h = Input.GetAxisRaw("Horizontal"); float v = Input.GetAxisRaw("Vertical"); if (h != 0) { transform.position += new Vector3(h * moveSpeed * Time.deltaTime, 0, 0); transform.rotation = Quaternion.Euler(0, 0, -90 * h); } else if (v != 0) { transform.position += new Vector3(0, v * moveSpeed * Time.deltaTime, 0); transform.rotation = Quaternion.Euler(0, 0, 90 - 90 * v); } } void Shooting() { if(Input.GetKeyDown(KeyCode.Space)) { var bullet = Instantiate(bulletPrefab, bulletSpawnPoint.position, bulletSpawnPoint.rotation); bullet.GetComponent<Rigidbody2D>().velocity = bulletSpawnPoint.up * bulletSpeed; } } }
Bullet.cs
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Bullet : MonoBehaviour { public float life = 3; void Awake() { Destroy(gameObject, life); } void OnCollisionEnter2D(Collision2D collision) { Destroy(collision.gameObject); Destroy(gameObject); } }