1
00:00:00,000 --> 00:00:04,160
Bienvenidos de nuevo, mis compañeros desarrolladores de juegos. 

2
00:00:04,155 --> 00:00:08,045
En este video, vamos a añadir disparo automático. 

3
00:00:08,040 --> 00:00:11,600
Por lo que puedes ver aquí mismo que tenemos un tiempo entre tomas. 

4
00:00:11,595 --> 00:00:14,195
¿ Cuánto tiempo quieres entre tomas? Puedo oírte. 

5
00:00:14,190 --> 00:00:15,770
¿ Quieres decir 0.5? 

6
00:00:15,765 --> 00:00:17,595
Está bien, señor, ahí va. 

7
00:00:17,595 --> 00:00:18,615
Jugamos correr. 

8
00:00:18,615 --> 00:00:19,995
Teníamos el botón Play. 

9
00:00:19,995 --> 00:00:21,515
Corremos la ganancia,

10
00:00:21,510 --> 00:00:24,390
y mantenemos pulsado el botón izquierdo del ratón. 

11
00:00:24,390 --> 00:00:27,480
Y ahí tienes. Se puede ver que debemos

12
00:00:27,480 --> 00:00:31,080
cada fotograma y se puede ver que son muy consistentes. 

13
00:00:31,080 --> 00:00:35,180
Entonces no estoy jugando un juego y aquí estoy manteniendo pulsado el botón y

14
00:00:35,175 --> 00:00:39,855
sigue disparando cada 0.5 segundos o cada uno tiene segundo,

15
00:00:39,855 --> 00:00:41,335
seguimos disparando capaz. 

16
00:00:41,335 --> 00:00:43,405
Entonces, no perdamos más tiempo. 

17
00:00:43,400 --> 00:00:46,420
Vamos a aprender sobre los contadores. 

18
00:00:46,415 --> 00:00:48,955
Y empecemos. 

19
00:00:48,950 --> 00:00:50,750
O k

20
00:00:50,750 --> 00:00:53,440
Por lo que queremos tener la capacidad de disparar
automáticamente las

21
00:00:53,435 --> 00:00:58,135
balas cuando se mantiene pulsado el botón del ratón. 

22
00:00:58,130 --> 00:01:01,190
Por lo que actualmente cada vez que presionamos el botón,

23
00:01:01,190 --> 00:01:03,020
una vez podemos disparar,

24
00:01:03,020 --> 00:01:05,200
pero lo que queremos es tener algún tipo de

25
00:01:05,195 --> 00:01:08,935
disparo
automático mientras mantenemos presionado el botón,

26
00:01:08,930 --> 00:01:11,060
igual que un rifle,

27
00:01:11,060 --> 00:01:14,180
pesar de que estamos usando una escopeta aquí mismo,

28
00:01:14,180 --> 00:01:18,470
solo
usaremos nuestra imaginación e imaginaremos que se trata de una escopeta automática. 

29
00:01:18,470 --> 00:01:22,570
Y mientras mantenemos pulsado el botón, sigue disparando. 

30
00:01:22,565 --> 00:01:25,685
Entonces, ¿cómo vamos a hacer esto? 

31
00:01:25,685 --> 00:01:27,685
Actualmente, si miras aquí mismo,

32
00:01:27,680 --> 00:01:29,350
puedes ver que este método,

33
00:01:29,345 --> 00:01:31,085
el botón get mouse down,

34
00:01:31,085 --> 00:01:36,355
devuelve un verdadero durante el fotograma el usuario presionó el botón del mouse dado. 

35
00:01:36,350 --> 00:01:39,980
Por lo que sólo devuelve true una vez en

36
00:01:39,980 --> 00:01:43,790
el fotograma que el jugador o el usuario ha pulsado el botón. 

37
00:01:43,790 --> 00:01:49,060
Lo que queremos es que queremos usar algo llamado el botón input dot get mouse. 

38
00:01:49,055 --> 00:01:52,525
Por lo que note que esto era botón del ratón hacia abajo. 

39
00:01:52,520 --> 00:01:55,520
Este es el botón get mouse. 

40
00:01:55,520 --> 00:01:57,050
Y si lees la descripción,

41
00:01:57,050 --> 00:02:02,830
puedes ver que devuelve un verdadero si el botón del ratón dado se mantiene pulsado. 

42
00:02:02,825 --> 00:02:05,005
Entonces mientras estamos aguantando,

43
00:02:05,000 --> 00:02:06,640
esto sigue volviendo verdad. 

44
00:02:06,635 --> 00:02:12,055
Y esto nos permitirá seguir instanciando balas todo el tiempo, cada fotograma. 

45
00:02:12,050 --> 00:02:15,230
Pero se nos ocurre un problema. 

46
00:02:15,230 --> 00:02:17,620
Te has dado cuenta de que cuando ejecutamos el juego,

47
00:02:17,615 --> 00:02:20,585
si te acuerdas, podemos ver las estadísticas aquí mismo. 

48
00:02:20,585 --> 00:02:25,795
Por lo que tenemos alrededor de 800 a mil cuadros por segundo. 

49
00:02:25,790 --> 00:02:27,670
Entonces cada fotograma,

50
00:02:27,665 --> 00:02:30,145
mientras mantenemos pulsado el botón del ratón,

51
00:02:30,140 --> 00:02:32,930
vamos a estar instanciando una bala,

52
00:02:32,930 --> 00:02:34,400
lo cual es muy malo. 

53
00:02:34,400 --> 00:02:38,740
Entonces vamos a tener alrededor de las 1000 balas cada segundo. 

54
00:02:38,735 --> 00:02:39,985
Ahora, es divertido. 

55
00:02:39,980 --> 00:02:41,920
Es un arma muy OOP,

56
00:02:41,915 --> 00:02:43,955
pero eso no es lo que queremos. 

57
00:02:43,955 --> 00:02:47,515
Queremos tener cierto tiempo entre

58
00:02:47,510 --> 00:02:52,360
disparar cada libro mientras estamos sosteniendo como un arma real. 

59
00:02:52,355 --> 00:02:53,665
¿ Cuál es la materia aquí? 

60
00:02:53,660 --> 00:02:54,770
De acuerdo, así que no se preocupe. 

61
00:02:54,770 --> 00:02:57,590
Creo que esto se resolverá por sí mismo. De todos modos. 

62
00:02:57,590 --> 00:02:58,580
Empecemos. 

63
00:02:58,580 --> 00:03:02,230
El primero que vamos a hacer es crear un campo serializado,

64
00:03:02,225 --> 00:03:04,265
que va a ser un flotador,

65
00:03:04,265 --> 00:03:08,685
y va a ser el tiempo entre tomas. 

66
00:03:08,689 --> 00:03:17,569
Una segunda variable que tendremos como flotador privado y el contador de disparos. 

67
00:03:17,570 --> 00:03:20,950
Y lo que haremos es en cuanto empecemos,

68
00:03:20,945 --> 00:03:25,645
vamos a poner el contador de disparos para que esté alrededor de 0,

69
00:03:25,640 --> 00:03:30,850
o podemos ponerlo de inmediato aquí en lugar de ponerlo y el inicio. 

70
00:03:30,845 --> 00:03:33,215
Por lo que empezamos a las 0. 

71
00:03:33,215 --> 00:03:35,435
Ahora si nos desplazamos aquí abajo,

72
00:03:35,435 --> 00:03:38,905
vamos a crear otra condición. 

73
00:03:38,900 --> 00:03:47,220
Y diremos que si el punto de entrada consigue el botón del ratón,

74
00:03:47,224 --> 00:03:51,564
que devuelve si el botón de modos dado se mantiene pulsado. 

75
00:03:51,560 --> 00:03:56,030
Y también utilizamos el índice 0 para el botón izquierdo del ratón. 

76
00:03:56,030 --> 00:04:00,620
Vamos a empezar a usar el contador de disparos y

77
00:04:00,620 --> 00:04:06,250
a
quitar de él el tiempo de punto delta. 

78
00:04:06,245 --> 00:04:10,015
Entonces, ¿recuerdas cuando usamos el plus igual

79
00:04:10,010 --> 00:04:13,790
en algún lugar aquí arriba cuando estábamos usando la transformación,

80
00:04:13,790 --> 00:04:14,960
ahora no la tenemos. 

81
00:04:14,960 --> 00:04:17,690
Bueno, esto es similar al plus igual. 

82
00:04:17,690 --> 00:04:24,010
Por lo que esto representa el contador de disparos menos tiempo.Deltatime. 

83
00:04:24,005 --> 00:04:28,135
Y sabes qué, voy a duplicar esto, comentar esto. 

84
00:04:28,130 --> 00:04:33,320
Y entonces haré de esto un minuss igual. 

85
00:04:33,320 --> 00:04:36,830
Por lo que recordarás que estas son las mismas cosas. 

86
00:04:36,830 --> 00:04:42,170
Y hasta lo moveré abajo junto a la línea justo aquí. 

87
00:04:42,170 --> 00:04:46,790
Se puede guardar esto como un recordatorio de por qué estamos estableciendo menos iguales,

88
00:04:46,790 --> 00:04:48,880
más iguales y todas estas cosas. 

89
00:04:48,875 --> 00:04:52,975
Es mucho más fácil de leer y es mucho más fresco

90
00:04:52,970 --> 00:04:54,890
y te hará mucho más profesional

91
00:04:54,890 --> 00:04:57,050
buscando siempre que estemos mostrando a alguien tu juego. 

92
00:04:57,050 --> 00:04:59,000
Entonces sigamos uno,

93
00:04:59,000 --> 00:05:00,440
¿qué necesitamos aquí? 

94
00:05:00,440 --> 00:05:02,750
Si bien mantenemos pulsado el botón del ratón,

95
00:05:02,750 --> 00:05:06,160
el contador de disparos se está contando hacia abajo. 

96
00:05:06,155 --> 00:05:12,085
Entonces lo que queremos es siempre que este contador de disparo termine o se convierta en 0,

97
00:05:12,080 --> 00:05:15,040
queremos disparar una bala y luego

98
00:05:15,035 --> 00:05:19,625
refrescar el contador de disparos de nuevo al tiempo entre disparos. 

99
00:05:19,625 --> 00:05:22,525
Entonces, ¿cómo vamos a hacer esto? 

100
00:05:22,520 --> 00:05:25,150
En lugar de instanciar de inmediato,

101
00:05:25,145 --> 00:05:27,575
voy a emitir un reto. 

102
00:05:27,575 --> 00:05:29,945
¿ Fue esa una transición mejor que la última vez? 

103
00:05:29,945 --> 00:05:33,875
De todos modos, tu reto es comprobar si el contador tiene,

104
00:05:33,875 --> 00:05:39,045
y así crear una condición if que revise el contador de disparos. 

105
00:05:39,049 --> 00:05:43,489
Si el contador de disparos es menor o igual a 0,

106
00:05:43,490 --> 00:05:45,530
¿por qué es menor o igual a 0? 

107
00:05:45,530 --> 00:05:48,770
Podría estar preguntando ¿por qué no inmediatamente 0? 

108
00:05:48,770 --> 00:05:51,600
Bueno, porque como estamos contando. 

