Shoot









How do I use Shoot
Below are practical examples compiled from projects for learning and reference purposes

Featured Snippets


File name: BossController.cs Copy
21  void Update () {
22   if (transform.position != targetPoint.position) {
23    transform.position = Vector3.MoveTowards (transform.position, targetPoint.position, speed * Time.deltaTime);
24   } else {
25    transform.GetComponent ().invulnerable = false;
26    transform.GetComponent ().isReadyToShoot = true;
27   }
28  }
File name: BossShoot.cs Copy
19  void Update () {
20   if(isReadyToShoot){
21    fireRate = Random.Range(4, 6);
22    firstDelay += Time.deltaTime;
23    if (firstDelay >= fireRate) {
24     if (!fireBullet) {
25      fireBullet = true;
26      if (GameObject.FindGameObjectWithTag ("Player") != null) {
27       GameObject newBullet = Instantiate (bullet, new Vector3 (transform.position.x, 0.3f, transform.position.z), Quaternion.identity) as GameObject;
28       Transform target = GameObject.FindGameObjectWithTag ("Player").transform;
29       newBullet.GetComponent ().velocity = (target.position - transform.position).normalized * 5f;
30      } else {
31       GameObject newBullet = Instantiate (bullet, new Vector3 (transform.position.x, 0.3f, transform.position.z), Quaternion.identity) as GameObject;
32       newBullet.GetComponent ().velocity = new Vector2 (Random.Range(-1f, 1f), -2f);
33      }
34     }
35
36     if (fireBullet) {
37      secondDelay += Time.deltaTime;
38      if (secondDelay >= 0.5f) {
39       secondDelay = 0;
40       firstDelay = 0;
41       if (GameObject.FindGameObjectWithTag ("Player") != null) {
42        GameObject newBullet = Instantiate (bullet, new Vector3 (transform.position.x, 0.3f, transform.position.z), Quaternion.identity) as GameObject;
43        Transform target = GameObject.FindGameObjectWithTag ("Player").transform;
44        newBullet.GetComponent ().velocity = (target.position - transform.position).normalized * 5f;
45       } else {
46        GameObject newBullet = Instantiate (bullet, new Vector3 (transform.position.x, 0.3f, transform.position.z), Quaternion.identity) as GameObject;
47        newBullet.GetComponent ().velocity = new Vector2 (Random.Range(-0.1f, 0.1f), -2f);
48       }
49       fireBullet = false;
50      }
51     }
52    }
53
54   }
55
56
57  }
File name: PlayerShoot.cs Copy
24  void Update () {
25   if (GameplayController.instance.gameInProgress) {
26    ShootBullet ();
27   }
28  }
File name: PlayerShoot.cs Copy
30  void ShootBullet(){
31   if (GameController.instance != null) {
32    switch(GameController.instance.weaponLevel){
33    case 1:
34     time += Time.deltaTime;
35
36     if (time >= delay) {
37      time = 0;
38      Vector3[] position = new[] {
39       new Vector3 (transform.position.x - 0.15f, transform.position.y + 0.4f, 0),
40       new Vector3 (transform.position.x + 0.15f, transform.position.y + 0.4f, 0)
41      };
42
43      for (int i = 0; i < position.Length; i++) {
44       GameObject newBullet = Instantiate (bullet, position [i], Quaternion.identity) as GameObject;
45       newBullet.GetComponent ().velocity = Vector2.up * speed;
46      }
47
48      if (GameController.instance != null) {
49       if (GameController.instance.isMusicOn) {
50        transform.GetComponent ().PlayOneShot (shoot);
51       }
52      }
53     }
54     break;
55
56    case 2:
57     time += Time.deltaTime;
58
59     if (time >= delay) {
60      time = 0;
61      Vector3[] position = new[] {
62       new Vector3 (transform.position.x - 0.15f, transform.position.y + 0.4f, 0),
63       new Vector3 (transform.position.x + 0.15f, transform.position.y + 0.4f, 0),
64       new Vector3 (transform.position.x, transform.position.y + 0.4f, 0)
65      };
66
67      for (int i = 0; i < position.Length; i++) {
68       GameObject newBullet = Instantiate (bullet, position [i], Quaternion.identity) as GameObject;
69       newBullet.GetComponent ().velocity = Vector2.up * speed;
70      }
71
72      if (GameController.instance != null) {
73       if (GameController.instance.isMusicOn) {
74        transform.GetComponent ().PlayOneShot (shoot);
75       }
76      }
77     }
78     break;
79
80    case 3:
81     time += Time.deltaTime;
82
83     if (time >= delay) {
84      time = 0;
85      Vector3[] position = new[] {
86       new Vector3 (transform.position.x - 0.05f, transform.position.y + 0.4f, 0),
87       new Vector3 (transform.position.x - 0.15f, transform.position.y + 0.4f, 0),
88       new Vector3 (transform.position.x + 0.05f, transform.position.y + 0.4f, 0),
89       new Vector3 (transform.position.x + 0.15f, transform.position.y + 0.4f, 0)
90      };
91
92      for (int i = 0; i < position.Length; i++) {
93       GameObject newBullet = Instantiate (bullet, position [i], Quaternion.identity) as GameObject;
94       newBullet.GetComponent ().velocity = Vector2.up * speed;
95      }
96
97      if (GameController.instance != null) {
98       if (GameController.instance.isMusicOn) {
99        transform.GetComponent ().PlayOneShot (shoot);
100       }
101      }
102     }
103     break;
104
105    case 4:
106     time += Time.deltaTime;
107
108     if (time >= delay) {
109      time = 0;
110      Vector3[] position = new[] {
111       new Vector3 (transform.position.x - 0.10f, transform.position.y + 0.4f, 0),
112       new Vector3 (transform.position.x - 0.20f, transform.position.y + 0.4f, 0),
113       new Vector3 (transform.position.x + 0.10f, transform.position.y + 0.4f, 0),
114       new Vector3 (transform.position.x + 0.20f, transform.position.y + 0.4f, 0),
115       new Vector3 (transform.position.x, transform.position.y + 0.4f, 0)
116      };
117
118      for (int i = 0; i < position.Length; i++) {
119       GameObject newBullet = Instantiate (bullet, position [i], Quaternion.identity) as GameObject;
120       newBullet.GetComponent ().velocity = Vector2.up * speed;
121      }
122
123      if (GameController.instance != null) {
124       if (GameController.instance.isMusicOn) {
125        transform.GetComponent ().PlayOneShot (shoot);
126       }
127      }
128     }
129     break;
130
131    case 5:
132     time += Time.deltaTime;
133
134     if (time >= delay) {
135      time = 0;
136      Vector3[] position = new[] {
137       new Vector3 (transform.position.x - 0.05f, transform.position.y + 0.4f, 0),
138       new Vector3 (transform.position.x - 0.15f, transform.position.y + 0.4f, 0),
139       new Vector3 (transform.position.x - 0.25f, transform.position.y + 0.4f, 0),
140       new Vector3 (transform.position.x + 0.05f, transform.position.y + 0.4f, 0),
141       new Vector3 (transform.position.x + 0.15f, transform.position.y + 0.4f, 0),
142       new Vector3 (transform.position.x + 0.25f, transform.position.y + 0.4f, 0)
143      };
144
145      for (int i = 0; i < position.Length; i++) {
146       GameObject newBullet = Instantiate (bullet, position [i], Quaternion.identity) as GameObject;
147       newBullet.GetComponent ().velocity = Vector2.up * speed;
148      }
149
150      if (GameController.instance != null) {
151       if (GameController.instance.isMusicOn) {
152        transform.GetComponent ().PlayOneShot (shoot);
153       }
154      }
155     }
156     break;
157    }
158   }
159  }
File name: Enemy.cs Copy
66     public void Activation(Vector3 revealPosition, Vector3 _moveDirection)
67     {
68         transform.position = revealPosition;
69
70         if (enemyType == 2)
71         {
72             moveDirection = _moveDirection;
73             movingSpeed = 2;
74         }
75         else if (enemyType == 3)
76         {
77             movingSpeed = 1.2f;
78         }
79
80         life = lifeMax;
81
82         ShootingStart();
83     }
File name: Enemy.cs Copy
85     public void Activation()
86     {
87         ShootingStart();
88     }
File name: Enemy.cs Copy
115     void ShootingStart()
116     {
117         switch (enemyType)
118         {
119             case 1: StartCoroutine("ShootingRoutine_01"); break;
120             case 2: StartCoroutine("ShootingRoutine_02"); break;
121             case 3: StartCoroutine("ShootingRoutine_03"); break;
122             case 4: StartCoroutine("ShootingRoutine_04"); break;
123         }
124     }
File name: Enemy.cs Copy
127     IEnumerator ShootingRoutine_01()
128     {
129         for (int i = 0; i < 2; i++)
130         {
131             yield return new WaitForSeconds(1f);
132             Enemy_01_ShootCircle();
133         }
134     }
File name: Enemy.cs Copy
136     void Enemy_01_ShootCircle()
137     {
138         int bulletSpeed = 2;
139
140         GameObject bullet = pools.GetPoolableObject("e_bullet");
141
142         Vector3 direction = new Vector3(0,0,-1);
143
144         //
145         for (int i = 0; i < 32; i++)
146         {
147             bullet = pools.GetPoolableObject("e_bullet");
148             if (bullet == null)
149             {
150                 continue;
151             }
152
153             bullet.SetActive(true);
154             bullet.GetComponent().ShootMe(transform.position, direction.normalized, bulletSpeed);
155
156             //creat circle of bullets
157             if (direction.x < 1 && direction.z == -1)
158                 direction.x += 0.25f;
159             else if (direction.z < 1 && direction.x == 1)
160                 direction.z += 0.25f;
161             else if (direction.x > -1 && direction.z == 1)
162                 direction.x -= 0.25f;
163             else if (direction.x == -1 && direction.z > -1)
164                 direction.z -= 0.25f;
165         }
166     }
File name: Enemy.cs Copy
169     IEnumerator ShootingRoutine_02()
170     {
171         while (true)
172         {
173             int bulletSpeed = 7;
174
175             yield return new WaitForSeconds(2f);
176
177             GameObject bullet = pools.GetPoolableObject("e_bullet");
178
179             if (bullet != null)
180             {
181                 bullet.SetActive(true);
182                 bullet.GetComponent().ShootMe(transform.position, new Vector3(0, 0, -1).normalized, bulletSpeed);
183             }
184         }
185     }

Download file with original file name:Shoot

Shoot 112 lượt xem

Gõ tìm kiếm nhanh...