SHOW:
|
|
- or go back to the newest paste.
1 | using System.Collections; | |
2 | using System.Collections.Generic; | |
3 | using UnityEngine; | |
4 | ||
5 | public class PaddleMove : MonoBehaviour | |
6 | { | |
7 | public float speed = 5f; | |
8 | public GameObject bullet; | |
9 | public int fireRate; | |
10 | float timeFromLastShoot = 0; | |
11 | ||
12 | void Update() | |
13 | { | |
14 | Move(); | |
15 | Shoot(); | |
16 | } | |
17 | ||
18 | //funkcja odpowiedzialna za ruch | |
19 | void Move() | |
20 | { | |
21 | //Zczytujemy z GetAxisRaw w którą stronę chcemy się poruszać | |
22 | float x = Input.GetAxisRaw("Horizontal"); | |
23 | //wyliczamy prędkość w wbranym kierunku | |
24 | float speedDir = x * speed * Time.deltaTime; | |
25 | transform.position += new Vector3(speedDir, 0, 0); | |
26 | } | |
27 | ||
28 | void Shoot() | |
29 | { | |
30 | //liczymy kidy ostatnio wystrzeliliśmy | |
31 | timeFromLastShoot += Time.deltaTime; | |
32 | //wyliczamy gdzie ma się pojawić pocisk | |
33 | Vector3 pos = transform.position + new Vector3(0, 1, 0); | |
34 | //jeżeli czas od ostatniego wystrzału jest wystarczająco duży | |
35 | if (timeFromLastShoot >= (1 / fireRate)) | |
36 | { | |
37 | //Po naciśnięciu klawisza | |
38 | if (Input.GetButtonDown("Fire1")) | |
39 | { | |
40 | //tworzymy pocisk | |
41 | Instantiate(bullet, pos, Quaternion.identity); | |
42 | //zerujemy czas od wystrzelenia | |
43 | timeFromLastShoot = 0; | |
44 | } | |
45 | } | |
46 | } | |
47 | ||
48 | ||
49 | } | |
50 |