﻿1
00:00:04,320 --> 00:00:04,950
‫Ciao e Benvenuto.

2
00:00:04,950 --> 00:00:13,080
‫In questa lezione genereremo il nostro fucile in fase di esecuzione dalla nostra classe di caratteri in C++.

3
00:00:13,080 --> 00:00:15,030
‫Entriamo e vediamo come è fatto.

4
00:00:16,500 --> 00:00:16,770
‫Bene.

5
00:00:16,770 --> 00:00:19,890
‫Quindi vogliamo che la nostra pistola deponga le uova.

6
00:00:19,890 --> 00:00:26,070
‫Come figlio del personaggio delle riprese, il primo punto di chiamata è essere in grado di generare quell'attore dall'interno di

7
00:00:26,070 --> 00:00:27,180
‫un altro attore.

8
00:00:27,960 --> 00:00:29,140
‫Lo faremo in fase di esecuzione.

9
00:00:29,140 --> 00:00:32,880
‫Inizieremo a giocare perché è così che puoi farlo quando stai generando.

10
00:00:32,880 --> 00:00:34,230
‫Gli attori devono farlo in fase di esecuzione.

11
00:00:34,740 --> 00:00:38,400
‫E il modo in cui lo faremo è impadronirci prima del mondo.

12
00:00:38,400 --> 00:00:44,760
‫Quindi prendi mondo e poi chiameremo una funzione su Ottieni mondo, a proposito, mondo e livello sono sinonimi.

13
00:00:44,780 --> 00:00:48,720
‫Quindi quello che stiamo effettivamente facendo qui è salire al livello e

14
00:00:48,720 --> 00:00:53,970
‫dire, ehi, livello, puoi creare come attore perché tutti gli attori essenzialmente appartengono o vivono in un livello.

15
00:00:54,780 --> 00:00:58,200
‫Quindi stiamo dicendo, sai, genera l'attore per me, per favore.

16
00:00:58,920 --> 00:01:04,760
‫E questo è un attore di spawn che prende un modello.

17
00:01:04,760 --> 00:01:10,200
‫Quindi puoi dire che voglio che questo attore che genererò sia di tipo A.

18
00:01:10,680 --> 00:01:17,910
‫E affinché funzioni, avremo bisogno di includere un hash include qui per la pistola.

19
00:01:18,930 --> 00:01:19,380
‫H.

20
00:01:21,270 --> 00:01:29,730
‫E poi prenderemo un argomento e l'argomento da generare è in realtà può essere un tipo di classe.

21
00:01:29,730 --> 00:01:33,750
‫Quindi per impostazione predefinita andrà avanti e genererà il C++.

22
00:01:33,750 --> 00:01:38,160
‫Ma qui vogliamo generare il figlio del progetto di questa pistola.

23
00:01:38,160 --> 00:01:43,530
‫Quindi dobbiamo capire cosa sarà che deve essere collegato in Blueprint.

24
00:01:43,530 --> 00:01:46,050
‫Non può essere collegato qui in C++, almeno non facilmente.

25
00:01:46,050 --> 00:01:48,180
‫Il posto migliore per farlo è in Blueprint.

26
00:01:48,420 --> 00:01:53,730
‫Quindi faremo un ALLO per andare al file di intestazione per il nostro personaggio sparatutto e aggiungeremo una

27
00:01:53,730 --> 00:01:55,380
‫nuova proprietà di te qui.

28
00:01:56,390 --> 00:02:03,400
‫Per permetterci di configurare la classe a cui dovremmo puntare per generare un atto.

29
00:02:03,410 --> 00:02:06,800
‫Quale classe di progetto dovremmo generare da questo personaggio sparatutto?

30
00:02:07,430 --> 00:02:17,450
‫Lo avremo come modifica solo i valori predefiniti y modifica i valori predefiniti solo perché non vogliamo essere in grado di modificarlo in fase di esecuzione perché darebbe una falsa

31
00:02:17,450 --> 00:02:22,310
‫impressione che tu possa cambiare il tipo di pistola che stiamo usando a runtime,

32
00:02:22,550 --> 00:02:27,920
‫mentre la selezione dei giochi è già stata chiamata che le pistole sono già state generate

33
00:02:27,920 --> 00:02:30,680
‫e quindi in realtà non aggiornerebbe nulla.

34
00:02:30,680 --> 00:02:34,880
‫Quindi non vogliamo renderlo modificabile per non dare alle persone una falsa impressione di ciò che si può fare.

35
00:02:35,540 --> 00:02:41,750
‫E poi qui useremo una macro chiamata sottoclasse T di cui potresti aver incontrato o meno

36
00:02:41,750 --> 00:02:42,320
‫prima.

37
00:02:43,310 --> 00:02:45,170
‫E la sottoclasse T tutto di è un modello.

38
00:02:45,170 --> 00:02:52,310
‫Quindi usiamo di nuovo queste parentesi angolari e vogliamo dire una sottoclasse di pistola.

39
00:02:52,880 --> 00:02:59,600
‫E sostanzialmente ciò significa che consente ai progetti di limitare le classi tra cui è

40
00:02:59,600 --> 00:03:05,420
‫possibile selezionare solo le classi che sono sottoclassi della classe Gun C++.

41
00:03:06,050 --> 00:03:10,760
‫Ora, questo non sarà un indicatore perché non stiamo puntando a un'istanza reale della pistola.

42
00:03:11,120 --> 00:03:15,350
‫Quello che stiamo ottenendo qui in questa variabile è una classe stessa.

43
00:03:15,590 --> 00:03:18,320
‫In questo caso, è una classe blueprint, ma è pur sempre una classe.

44
00:03:18,950 --> 00:03:25,670
‫Quindi quella che vorremo chiamare questa è la classe delle armi, solo per chiarire che questa non è

45
00:03:25,670 --> 00:03:27,620
‫in realtà la pistola stessa.

46
00:03:28,160 --> 00:03:36,770
‫Vogliamo che un'altra tua proprietà qui conservi la pistola e non sarà un'impostazione predefinita di modifica.

47
00:03:36,770 --> 00:03:42,320
‫Quindi fondamentalmente non vogliamo renderla una proprietà visibile, ma sarà in un puntatore di

48
00:03:42,440 --> 00:03:43,100
‫pistola.

49
00:03:43,100 --> 00:03:43,850
‫Vedi la differenza?

50
00:03:43,850 --> 00:03:50,720
‫Uno di questi è una sottoclasse t di pistola, l'altro è un puntatore pistola e questa è la pistola vera e propria.

51
00:03:50,750 --> 00:03:54,470
‫Questa è una volta che abbiamo creato un'istanza della classe, è lì che la memorizzeremo.

52
00:03:55,040 --> 00:04:03,830
‫Quindi andiamo al nostro sparatutto c p e finiamo questo gioco inizia in cui stiamo generando le cose, quindi avremo la pistola uguale

53
00:04:03,830 --> 00:04:10,130
‫per far sì che lo spawn del mondo agisca con una pistola e l'argomento passerà qui

54
00:04:10,130 --> 00:04:14,690
‫è la classe della pistola che andremo a definire nei progetti.

55
00:04:15,050 --> 00:04:17,750
‫Quindi andiamo e proviamo a compilare questo.

56
00:04:17,750 --> 00:04:18,860
‫Potrebbe darci degli errori.

57
00:04:18,860 --> 00:04:23,450
‫Vediamo, ho il registro dei messaggi aperto con il registro di compilazione.

58
00:04:23,450 --> 00:04:28,190
‫E abbastanza sicuro, stiamo ricevendo alcuni errori qui nel file principale che dice identificatore non dichiarato

59
00:04:28,670 --> 00:04:31,040
‫perché dobbiamo inoltrare la dichiarazione della pistola.

60
00:04:31,280 --> 00:04:32,830
‫Quindi lo farò solo in alto.

61
00:04:32,930 --> 00:04:35,420
‫È in due punti che dirò classe.

62
00:04:36,490 --> 00:04:39,180
‫Una vista simile a una pistola.

63
00:04:39,820 --> 00:04:45,040
‫E solo un promemoria, dichiarare in avanti in questo modo significa che possiamo ridurre i nostri tempi di compilazione

64
00:04:45,040 --> 00:04:47,350
‫non includendo troppo nella pesante testata dei file.

65
00:04:47,950 --> 00:04:49,330
‫Proviamo a ricompilare e vediamo.

66
00:04:49,850 --> 00:04:51,210
‫Sembra che sia stato l'unico errore.

67
00:04:51,220 --> 00:04:52,690
‫Ora è compilato correttamente.

68
00:04:52,720 --> 00:04:55,840
‫Andiamo avanti e premiamo play e vediamo cosa succede.

69
00:04:55,870 --> 00:04:56,380
‫Uscita.

70
00:04:56,410 --> 00:04:57,520
‫Dai un'occhiata al nostro

71
00:04:57,850 --> 00:05:00,580
‫Fondamentalmente vogliamo dare un'occhiata al caricamento dei messaggi, che non ho aperto.

72
00:05:00,850 --> 00:05:07,720
‫Quindi andiamo alla finestra e agli strumenti per sviluppatori e diamo un'occhiata al registro di output e vediamo se abbiamo errori qui.

73
00:05:07,750 --> 00:05:08,110
‫Sì.

74
00:05:08,140 --> 00:05:10,780
‫L'attore di spawn non è riuscito perché non è stata specificata alcuna classe.

75
00:05:10,810 --> 00:05:11,200
‫Sicuro.

76
00:05:11,230 --> 00:05:14,710
‫Nessuna classe è stata specificata perché non l'abbiamo ancora configurata nel progetto.

77
00:05:14,950 --> 00:05:21,160
‫Quindi questo lo salverò come sfida a te per collegare la pistola, trovare la proprietà nei nostri

78
00:05:21,160 --> 00:05:25,600
‫progetti del personaggio, impostarla sulla pistola corretta e testare che si generi.

79
00:05:25,600 --> 00:05:26,650
‫Metti in pausa il video e prova.

80
00:05:26,710 --> 00:05:27,520
‫Ok, bentornato.

81
00:05:27,530 --> 00:05:36,190
‫Quindi andiamo al nostro personaggio sparatutto, BP, e troviamo la proprietà che dovrebbe essere sul percorso o sulla

82
00:05:36,190 --> 00:05:37,150
‫classe.

83
00:05:37,150 --> 00:05:40,750
‫Le impostazioni predefinite entrano nei dettagli e sotto sparano a un personaggio.

84
00:05:40,780 --> 00:05:47,350
‫Puoi vedere che abbiamo una rotazione proprio qui che abbiamo configurato e abbiamo la nostra classe di armi, che è un

85
00:05:47,350 --> 00:05:52,060
‫menu a discesa che mi permette di scegliere se la pistola è la pistola C++.

86
00:05:52,180 --> 00:05:54,250
‫Ed è qui che torna utile una convenzione di denominazione.

87
00:05:54,520 --> 00:05:57,640
‫Le cose con il prefisso BP underscore sono i progetti.

88
00:05:57,880 --> 00:06:00,280
‫Quindi vogliamo il fucile di sottolineatura AB BP.

89
00:06:00,310 --> 00:06:05,620
‫Andremo avanti e selezioneremo il salvataggio della compilazione, andremo sulla scena e premiamo play.

90
00:06:06,190 --> 00:06:11,680
‫Ora, si spera di non avere errori sulla generazione di una pistola.

91
00:06:12,070 --> 00:06:13,390
‫La pistola dovrebbe essere generata.

92
00:06:13,390 --> 00:06:14,170
‫Bene.

93
00:06:14,500 --> 00:06:20,590
‫E per scoprire se lo è, possiamo F8 e dare un'occhiata alla sagoma del mondo.

94
00:06:20,650 --> 00:06:26,140
‫Se ingrandisco un po' il contorno del mondo, posso cercare il fucile di sottolineatura BP.

95
00:06:26,260 --> 00:06:26,890
‫Evviva.

96
00:06:26,890 --> 00:06:32,320
‫Abbiamo un fucile di sottolineatura BP nel momento in cui è in mezzo al nulla e non è correttamente l'ID bambino.

97
00:06:32,530 --> 00:06:34,750
‫Sarà l'argomento della prossima lezione.

98
00:06:34,750 --> 00:06:36,520
‫Quindi ci vediamo lì.

