using System.Collections;
using System.Collections.Generic;
public class PlayerControl : MonoBehaviour {
private bool smokeCraeted=false;
private GameObject spawnesmoke;
[Header("player movement")]
[Tooltip("this is horizontal speed.")]
[Tooltip("this is vertical speed.")]
[Tooltip("this is default speed")]
public float defultSpeed;
private Animator animator;
[Header("shoting system")]
public GameObject bullet;
public float bulletSpeed;
private GameObject spawnedBullets;
private float lastbulletTime;
public GameObject explosion;
public GameObject propeler;
animator = GetComponent<Animator>();
rb.velocity=new Vector2(rb.velocity.x,defultSpeed);
if (Input.GetButton("Fire1")) {
if (Hp <= 1 && !smokeCraeted) {
spawnesmoke= (GameObject) Instantiate(smoke,transform.position,Quaternion.Euler(-90,0,0));
}else if (Hp>1&&smokeCraeted) {
spawnesmoke.GetComponent<ParticleSystem>().startColor=new Color(1,1,1,0);
spawnesmoke.transform.position=transform.position;
transform.position=new Vector3(transform.position.x,transform.position.y,transform.position.z+Time.deltaTime*3);
if (transform.position.z>=20) {
GameObject exspawn=(GameObject) Instantiate(explosion,transform.position,Quaternion.Euler(0,0,0));
GetComponent<SpriteRenderer>().enabled=false;
if (Input.GetAxisRaw("Vertical")>0) {
rb.velocity=new Vector2(rb.velocity.x,defultSpeed-vspeed);
}else if (Input.GetAxisRaw("Vertical")<0) {
rb.velocity=new Vector2(rb.velocity.x,defultSpeed+vspeed);
rb=GetComponent<Rigidbody2D>();
if (Input.GetAxisRaw("Horizontal")>0) {
rb.velocity = new Vector2 (hspeed,rb.velocity.y);
animator.SetBool("left",true);
animator.SetBool("right",false);
}else if(Input.GetAxisRaw ("Horizontal")<0) {
rb.velocity = new Vector2 (-hspeed,rb.velocity.y);
animator.SetBool("right",true);
animator.SetBool("left",false);
rb.velocity = new Vector2 (0,rb.velocity.y);
animator.SetBool("right",false);
animator.SetBool("left",false);
if(Time.time>fireRate+lastbulletTime) {
spawnedBullets=(GameObject) Instantiate(bullet,GunTip.position,Quaternion.Euler(0,0,0));
Rigidbody2D brb= spawnedBullets.GetComponent<Rigidbody2D>();
brb.velocity=new Vector3(0,bulletSpeed,0);
lastbulletTime=Time.time;
Destroy(spawnedBullets,bulletlife);