﻿1
00:00:04,110 --> 00:00:07,740
‫In questa lezione creeremo una classe C++.

2
00:00:07,770 --> 00:00:11,310
‫Ora abbiamo bisogno di una classe che possiamo usare per le nostre pedine.

3
00:00:11,340 --> 00:00:15,720
‫Ora sto dicendo pedine, plurale, perché ci saranno due pedine diverse nel nostro gioco.

4
00:00:15,720 --> 00:00:20,280
‫Ci sarà il carro armato che useremo per rotolare nel livello e ci sarà una

5
00:00:20,280 --> 00:00:24,870
‫torretta che sarà il nostro nemico in modo da poter creare una classe di pedone base.

6
00:00:24,870 --> 00:00:30,050
‫E questo avrà le funzionalità di base che condivideranno sia il carro armato che la torretta.

7
00:00:30,060 --> 00:00:34,890
‫E in questo modo possiamo creare le nostre due classi figlie, il carro armato e la torretta.

8
00:00:34,890 --> 00:00:40,890
‫Quindi questi erediteranno qualità dalla classe di pedone di base e queste sono cose che

9
00:00:40,890 --> 00:00:47,010
‫entrambi i pedoni condivideranno, come avere la maglia, avere un componente a capsula e la capacità di

10
00:00:47,010 --> 00:00:47,820
‫lanciare proiettili.

11
00:00:47,820 --> 00:00:51,840
‫Ora entreremo in tutte queste funzionalità nei video futuri per questo video.

12
00:00:51,840 --> 00:00:56,280
‫Creeremo semplicemente la classe C++ e vi aggiungeremo alcune variabili di base.

13
00:00:56,280 --> 00:01:00,990
‫Quindi questa è la nostra motivazione per creare la nostra prima classe C++.

14
00:01:01,020 --> 00:01:06,450
‫Ora siamo pronti per iniziare a creare alcune classi C++ per questo progetto.

15
00:01:06,630 --> 00:01:13,410
‫Ora vedrai qui sotto nel browser dei contenuti che non ci sono cartelle per le classi C++.

16
00:01:13,410 --> 00:01:19,770
‫Questo perché non ne abbiamo ancora creato nessuno, ma stiamo per scrivere ora in modo da poter passare agli

17
00:01:19,770 --> 00:01:22,140
‫strumenti e selezionare una nuova classe C++.

18
00:01:22,140 --> 00:01:27,690
‫Ed è qui che sceglieremo la classe genitore per la classe che creeremo.

19
00:01:27,690 --> 00:01:31,740
‫E per impostazione predefinita, qui abbiamo diverse opzioni tra cui scegliere.

20
00:01:31,740 --> 00:01:35,330
‫Questo è qualcosa che avresti dovuto vedere nelle lezioni precedenti.

21
00:01:35,330 --> 00:01:38,280
‫Quindi ora abbiamo alcune decisioni da prendere qui.

22
00:01:38,370 --> 00:01:41,550
‫Per uno, quale classe genitore sceglieremo?

23
00:01:41,550 --> 00:01:42,210
‫Abbiamo.

24
00:01:42,210 --> 00:01:43,860
‫Il primo è nessuno.

25
00:01:43,860 --> 00:01:50,910
‫Ciò ci consentirebbe sostanzialmente di creare una semplice vecchia classe C++, ma avremo bisogno di alcune funzionalità extra.

26
00:01:50,910 --> 00:01:55,440
‫Per uno, vogliamo essere in grado di collocare un'istanza di questo oggetto nel mondo.

27
00:01:55,440 --> 00:01:58,230
‫Quindi non possiamo farlo con una semplice vecchia classe C++.

28
00:01:58,230 --> 00:02:03,810
‫Potremmo farlo con un personaggio, una pedina o un attore, ma quale di questi è più appropriato per

29
00:02:03,810 --> 00:02:05,250
‫quello che vogliamo fare?

30
00:02:05,400 --> 00:02:10,020
‫Bene, dobbiamo fare un passo indietro e pensare a cosa esattamente stiamo cercando di creare qui.

31
00:02:10,050 --> 00:02:17,460
‫Stiamo cercando di creare un carro armato che possiamo controllare e muoverci nel livello e sparare proiettili in modo da poter causare

32
00:02:17,460 --> 00:02:21,570
‫danni e tutte quelle cose buone nella nostra cartella delle risorse.

33
00:02:21,570 --> 00:02:28,770
‫Solo per ricordarcelo, abbiamo questa cartella delle maglie qui e abbiamo la base del carro armato e abbiamo la torretta del carro armato.

34
00:02:28,800 --> 00:02:32,670
‫Queste sono due diverse mesh che saranno nella nostra classe.

35
00:02:32,670 --> 00:02:35,640
‫E quindi abbiamo bisogno della capacità di avere mesh.

36
00:02:35,640 --> 00:02:39,270
‫E quindi una semplice classe C++ non ha questa capacità.

37
00:02:39,540 --> 00:02:41,670
‫Quindi pensiamoci per un secondo.

38
00:02:41,670 --> 00:02:44,250
‫Quale classe genitore dovremmo usare?

39
00:02:44,250 --> 00:02:48,780
‫Bene, la prima lezione che probabilmente ti viene in mente è quella dell'attore.

40
00:02:48,780 --> 00:02:52,320
‫Ora, la classe dell'attore ha la capacità di essere inserita nel mondo.

41
00:02:52,320 --> 00:02:53,850
‫Quindi è un ottimo inizio.

42
00:02:53,940 --> 00:02:57,750
‫Ha anche la capacità di avere una rappresentazione visiva.

43
00:02:57,750 --> 00:03:04,080
‫Che si tratti di una mesh o di qualsiasi altra cosa, può essere effettivamente vista una volta posizionata nel mondo, a condizione

44
00:03:04,080 --> 00:03:07,650
‫che gli dia una mesh o qualunque cosa tu voglia vedere.

45
00:03:07,650 --> 00:03:13,260
‫Ora derivato da attore, abbiamo la classe -- e la -- eredita tutte quelle qualità dalla

46
00:03:13,260 --> 00:03:19,830
‫classe attore, tranne per il fatto che ha qualità aggiuntive come la capacità di essere posseduto da un controllore.

47
00:03:19,830 --> 00:03:25,980
‫Ora, tutta questa faccenda del possesso è qualcosa di cui parleremo più dettagliatamente in seguito, ma per ora, capisci solo

48
00:03:25,980 --> 00:03:30,060
‫che questo significa che un -- può essere controllato da un giocatore.

49
00:03:30,060 --> 00:03:36,750
‫Quindi, se stai premendo un pulsante del mouse o un tasto della tastiera, questo può essere impostato e configurato in modo da

50
00:03:36,750 --> 00:03:38,580
‫poter spostare il -- in giro.

51
00:03:38,580 --> 00:03:43,110
‫Quindi questo suona come qualcosa che vorremmo sicuramente per il nostro carro armato.

52
00:03:43,110 --> 00:03:49,410
‫Quindi, gestendo l'input di movimento, il -- suona come una scelta piuttosto buona ora derivato dalla classe --

53
00:03:49,410 --> 00:03:55,560
‫e quindi eredita tutte le cose che -- ha, più tutte le cose che -- ha ereditato dalla

54
00:03:55,560 --> 00:03:56,880
‫sua classe genitore.

55
00:03:56,880 --> 00:04:02,100
‫Abbiamo la classe del personaggio che ha alcune cose specifiche del personaggio.

56
00:04:02,460 --> 00:04:05,550
‫Ad esempio, ha qualcosa chiamato componente di movimento del personaggio.

57
00:04:05,550 --> 00:04:07,830
‫Ora, un -- non ha questo.

58
00:04:07,860 --> 00:04:13,980
‫Una componente di movimento del personaggio conferisce al personaggio abilità extra come diverse modalità di

59
00:04:13,980 --> 00:04:19,440
‫movimento come volare, nuotare e accovacciarsi e altre cose specifiche dei personaggi.

60
00:04:19,440 --> 00:04:25,560
‫La classe del personaggio è buona per i personaggi bipedi e non funzionerà molto bene per i personaggi non bipedi,

61
00:04:25,560 --> 00:04:28,410
‫cose che non sono creature con due gambe.

62
00:04:28,410 --> 00:04:34,050
‫E anche se sarebbe fantastico avere un carro armato che vola intorno al livello e sgancia bombe

63
00:04:34,050 --> 00:04:38,940
‫su tutto ciò che vede, in questa sezione non faremo nulla di così complicato.

64
00:04:38,940 --> 00:04:41,040
‫Faremo solo un carro armato che possa rotolare.

65
00:04:41,040 --> 00:04:47,220
‫Quindi non abbiamo davvero bisogno di una componente di movimento del personaggio o di quelle cose speciali specifiche del personaggio.

66
00:04:47,220 --> 00:04:52,380
‫Quindi, per questo, penso che un -- sia perfetto per quello che stiamo cercando di ottenere.

67
00:04:52,380 --> 00:04:59,490
‫Quindi ti sfiderò a creare una nuova classe C++, creare una classe basata su -- e nominare questa nuova

68
00:04:59,490 --> 00:05:01,230
‫classe basata su --.

69
00:05:01,230 --> 00:05:03,600
‫Ora puoi lasciare tutte le impostazioni così come sono.

70
00:05:03,670 --> 00:05:05,200
‫Nella procedura guidata di creazione della classe.

71
00:05:05,200 --> 00:05:10,570
‫Non è necessario modificare il percorso del file o qualcosa del genere, quindi metti in pausa il video e crea

72
00:05:10,570 --> 00:05:13,030
‫la tua prima classe C++ per questo progetto.

73
00:05:16,320 --> 00:05:18,090
‫Quindi torna qui nel livello.

74
00:05:18,120 --> 00:05:21,690
‫Quindi andiamo agli strumenti e creiamo una nuova classe C++.

75
00:05:21,690 --> 00:05:24,260
‫Non ho ancora creato la classe C++.

76
00:05:24,270 --> 00:05:27,180
‫L'ho appena chiuso per tornare a quella diapositiva.

77
00:05:27,180 --> 00:05:33,480
‫Ma ora che sono tornato, sono pronto per creare la mia prima classe C++ per questo progetto e sceglierò --

78
00:05:33,480 --> 00:05:36,720
‫e lo vedrai ogni volta che passerai sopra questi.

79
00:05:36,720 --> 00:05:38,370
‫Probabilmente l'hai già visto.

80
00:05:38,400 --> 00:05:44,790
‫Otteniamo un suggerimento che compare e dice: -- è la classe base di tutti gli attori che possono essere posseduti

81
00:05:44,790 --> 00:05:45,660
‫dai giocatori.

82
00:05:45,660 --> 00:05:52,680
‫Oppure so che sembra piuttosto eccitante, ma lo configureremo in modo che sia mobile grazie all'input di un

83
00:05:52,680 --> 00:05:53,370
‫giocatore.

84
00:05:53,370 --> 00:05:55,380
‫Quindi questo è perfetto.

85
00:05:55,470 --> 00:06:01,020
‫Continua dicendo che sono le rappresentazioni fisiche di giocatori e creature in un livello.

86
00:06:01,020 --> 00:06:07,080
‫Quindi, in altre parole, una volta creato questo carro armato, ci rappresenterà come giocatori nel mondo.

87
00:06:07,080 --> 00:06:07,950
‫Abbastanza bello.

88
00:06:08,040 --> 00:06:15,960
‫Quindi seleziona -- e fai clic su Avanti e ci mostrerà il percorso in cui inserirà questa classe nel nostro progetto e

89
00:06:15,960 --> 00:06:20,070
‫vedrai che è nei serbatoi di ottimizzazione del codice sorgente.

90
00:06:20,070 --> 00:06:26,280
‫Ora vorremo dare un nome al nostro nuovo -- perché il mio -- è un nome orrendo ed è molto vago.

91
00:06:26,280 --> 00:06:29,700
‫Abbiamo bisogno di qualcosa di un po' più specifico ora.

92
00:06:29,700 --> 00:06:35,400
‫Abbiamo intenzione di usarlo come classe base, il che significa che deriveremo classi da questa classe

93
00:06:35,400 --> 00:06:38,340
‫in modo che possiamo chiamare questa base --.

94
00:06:38,340 --> 00:06:43,080
‫Ora, so che non è molto meglio del mio --, ma ehi, ci sta dicendo che questa è una base --.

95
00:06:43,080 --> 00:06:46,770
‫Questo è qualcosa da cui trarremo le classi figlio in futuro.

96
00:06:46,770 --> 00:06:47,730
‫Ci arriveremo.

97
00:06:47,730 --> 00:06:52,320
‫Ma per ora chiameremo questa base e faremo clic su Crea classe.

98
00:06:53,930 --> 00:06:54,590
‫Tutto bene.

99
00:06:54,590 --> 00:06:58,340
‫Quindi il codice di Visual Studio si è aperto per noi con la nostra nuova classe.

100
00:06:58,340 --> 00:07:01,700
‫Abbiamo basato su H e basato su CP.

101
00:07:01,730 --> 00:07:08,180
‫Ora possiamo chiudere questa barra laterale facendo clic sull'icona Explorer lì e possiamo dare un'occhiata a ciò che il codice di

102
00:07:08,180 --> 00:07:09,890
‫V ha generato per noi.

103
00:07:09,890 --> 00:07:16,880
‫Quindi, per impostazione predefinita, otteniamo il costruttore di classi e tre funzioni start, play, tick e settaggio del componente

104
00:07:16,880 --> 00:07:18,380
‫di input del giocatore.

105
00:07:18,410 --> 00:07:21,980
‫Ora dovresti avere familiarità con Begin, Play e spuntare i commenti qui.

106
00:07:21,980 --> 00:07:23,300
‫Spiega cosa fanno.

107
00:07:23,330 --> 00:07:28,790
‫Impostare il componente di input del giocatore è qualcosa che ottiene il pedone e questa funzione ci consente di gestire

108
00:07:28,790 --> 00:07:34,250
‫l'input come da un tasto della tastiera o un clic del mouse e impareremo di più su come funziona nei

109
00:07:34,250 --> 00:07:35,690
‫video futuri in banda base.

110
00:07:35,840 --> 00:07:41,930
‫CP Queste funzioni sono definite per noi, ma sono piuttosto scarse e non lo cambieranno nemmeno nei

111
00:07:41,930 --> 00:07:42,740
‫video futuri.

112
00:07:42,740 --> 00:07:49,370
‫Quindi in questo video abbiamo creato la nostra prima classe C++ e il prossimo video discuterà dei componenti e del motivo per cui

113
00:07:49,370 --> 00:07:51,770
‫vorremmo aggiungerne alcuni alla nostra nuova classe.

114
00:07:51,800 --> 00:07:52,790
‫Ci vediamo presto.

