﻿1
00:00:04,320 --> 00:00:04,950
‫Hallo en welkom.

2
00:00:04,950 --> 00:00:13,080
‫In deze lezing gaan we ons geweer tijdens runtime uit onze karakterklasse in C ++ spawnen.

3
00:00:13,080 --> 00:00:15,030
‫Laten we erin duiken en kijken hoe het gedaan is.

4
00:00:16,500 --> 00:00:16,770
‫Oké.

5
00:00:16,770 --> 00:00:19,890
‫Dus we willen ons wapen spawnen.

6
00:00:19,890 --> 00:00:26,070
‫Als kind van het shoots-personage is het eerste punt van aandacht om die acteur vanuit een andere acteur

7
00:00:26,070 --> 00:00:27,180
‫te kunnen spawnen.

8
00:00:27,960 --> 00:00:29,140
‫We gaan dit doen tijdens runtime.

9
00:00:29,140 --> 00:00:32,880
‫We gaan beginnen met spelen, want dat is de manier waarop je het kunt doen als je aan het spawnen bent.

10
00:00:32,880 --> 00:00:34,230
‫Acteurs moeten het tijdens runtime doen.

11
00:00:34,740 --> 00:00:38,400
‫En de manier waarop we dit gaan doen, is dat we als eerste de wereld in handen krijgen.

12
00:00:38,400 --> 00:00:44,760
‫Dus get world en dan gaan we een functie op Get World noemen, trouwens, world en level een synoniem.

13
00:00:44,780 --> 00:00:48,720
‫Dus wat we hier eigenlijk doen, is dat we naar het niveau gaan en

14
00:00:48,720 --> 00:00:53,970
‫zeggen, hé, niveau, kun je als acteur creëren omdat alle acteurs in wezen in een niveau thuishoren of leven.

15
00:00:54,780 --> 00:00:58,200
‫Dus we zeggen dan, weet je, spawn acteur voor mij, alsjeblieft.

16
00:00:58,920 --> 00:01:04,760
‫En dit is een spawn-acteur die een sjabloon neemt.

17
00:01:04,760 --> 00:01:10,200
‫Dus je kunt zeggen, ik wil dat deze acteur die ik ga spawnen van het type A-pistool is.

18
00:01:10,680 --> 00:01:17,910
‫En om dat te laten werken, hebben we een hash-opname nodig voor het pistool.

19
00:01:18,930 --> 00:01:19,380
‫H.

20
00:01:21,270 --> 00:01:29,730
‫En dan gaan we een argument opnemen en het argument om te spawnen kan eigenlijk een klassetype zijn.

21
00:01:29,730 --> 00:01:33,750
‫Dus standaard gaat het door en spawnt het C ++.

22
00:01:33,750 --> 00:01:38,160
‫Maar hier willen we het blauwdrukkind van dit wapen spawnen.

23
00:01:38,160 --> 00:01:43,530
‫Dus we moeten uitzoeken wat dat gaat zijn dat moet worden aangesloten in Blueprint.

24
00:01:43,530 --> 00:01:46,050
‫Het kan hier niet in C++ worden aangesloten, althans niet gemakkelijk.

25
00:01:46,050 --> 00:01:48,180
‫De beste plaats om dit te doen is in Blueprint.

26
00:01:48,420 --> 00:01:53,730
‫Dus we gaan een ALLO doen om naar het header-bestand voor ons shooter-personage te gaan en we gaan

27
00:01:53,730 --> 00:01:55,380
‫hier een nieuwe you-eigenschap toevoegen.

28
00:01:56,390 --> 00:02:03,400
‫Om ons in staat te stellen de klasse te configureren waarnaar we zouden moeten verwijzen om een act te spawnen.

29
00:02:03,410 --> 00:02:06,800
‫Welke blauwdrukklasse moeten we voortbrengen uit dit schietpersonage?

30
00:02:07,430 --> 00:02:17,450
‫We gaan het gebruiken als een bewerkingsstandaard alleen y bewerk standaardwaarden alleen omdat we dit niet tijdens runtime willen kunnen bewerken, omdat het een verkeerde indruk

31
00:02:17,450 --> 00:02:22,310
‫zou wekken dat je kunt veranderen welk type wapen we gebruiken bij

32
00:02:22,550 --> 00:02:27,920
‫runtime, terwijl het kiezen van plays al werd genoemd dat wapens al zijn voortgebracht

33
00:02:27,920 --> 00:02:30,680
‫en dus eigenlijk niets zou updaten.

34
00:02:30,680 --> 00:02:34,880
‫We willen het dus niet bewerkbaar maken om mensen geen verkeerde indruk te geven van wat er gedaan kan worden.

35
00:02:35,540 --> 00:02:41,750
‫En dan gaan we hier een macro gebruiken met de naam T-subklasse, die je misschien wel of niet eerder bent

36
00:02:41,750 --> 00:02:42,320
‫tegengekomen.

37
00:02:43,310 --> 00:02:45,170
‫En T-subklasse is allemaal een sjabloon.

38
00:02:45,170 --> 00:02:52,310
‫Dus we gebruiken deze punthaken opnieuw en we willen dat het een subklasse van pistool zegt.

39
00:02:52,880 --> 00:02:59,600
‫En wat dit in feite betekent, is dat het blauwdrukken toestaat om de klassen waaruit we kunnen

40
00:02:59,600 --> 00:03:05,420
‫selecteren te beperken tot alleen de klassen die subklassen zijn van de Gun C++-klasse.

41
00:03:06,050 --> 00:03:10,760
‫Dit wordt geen wijzer, want we verwijzen niet naar een echt exemplaar van het pistool.

42
00:03:11,120 --> 00:03:15,350
‫Wat we hier in deze variabele krijgen, is een klasse zelf.

43
00:03:15,590 --> 00:03:18,320
‫In dit geval is het een blauwdrukklasse, maar het is nog steeds een klasse.

44
00:03:18,950 --> 00:03:25,670
‫Dus wat we dit gaan noemen, is de wapenklasse, gewoon om het superduidelijk te maken dat dit niet

45
00:03:25,670 --> 00:03:27,620
‫echt het wapen zelf is.

46
00:03:28,160 --> 00:03:36,770
‫We willen een ander eigendom van jou hier om het pistool op te slaan en dat zal geen standaard bewerking zijn.

47
00:03:36,770 --> 00:03:42,320
‫Dus eigenlijk willen we dit helemaal geen zichtbare eigenschap maken, maar het zal in een pistoolwijzer

48
00:03:42,440 --> 00:03:43,100
‫zijn.

49
00:03:43,100 --> 00:03:43,850
‫Zie het verschil?

50
00:03:43,850 --> 00:03:50,720
‫Een van hen is een t-subklasse van wapens, de andere is een pistoolaanwijzer en deze is het eigenlijke pistool.

51
00:03:50,750 --> 00:03:54,470
‫Als we eenmaal een instantie van de klasse hebben gemaakt, gaan we die daar opslaan.

52
00:03:55,040 --> 00:04:03,830
‫Dus laten we doorgaan naar onze shooter c p en dit begin van het spel beëindigen waar we dingen aan het spawnen zijn, dus

53
00:04:03,830 --> 00:04:10,130
‫we zullen een geweer hebben dat gelijk is aan wereldspawn act een geweer en het argument dat

54
00:04:10,130 --> 00:04:14,690
‫hier voorbij gaat, is de wapenklasse die we gaan vastleggen in blauwdrukken.

55
00:04:15,050 --> 00:04:17,750
‫Dus laten we gaan en proberen dit te compileren.

56
00:04:17,750 --> 00:04:18,860
‫Het kan ons enkele fouten opleveren.

57
00:04:18,860 --> 00:04:23,450
‫Eens kijken, ik heb het berichtenlogboek geopend met het compileerlogboek.

58
00:04:23,450 --> 00:04:28,190
‫En inderdaad, we krijgen enkele fouten hier in het hoofdbestand met de niet-aangegeven identifier

59
00:04:28,670 --> 00:04:31,040
‫omdat we het wapen moeten doorsturen.

60
00:04:31,280 --> 00:04:32,830
‫Dus ik ga dit gewoon bovenaan doen.

61
00:04:32,930 --> 00:04:35,420
‫Dat is op twee plaatsen waar ik klasse ga zeggen.

62
00:04:36,490 --> 00:04:39,180
‫Een geweer als een gezicht.

63
00:04:39,820 --> 00:04:45,040
‫En slechts een herinnering, voorwaarts verklaren op deze manier betekent dat we onze compileertijden laag kunnen houden door niet te veel

64
00:04:45,040 --> 00:04:47,350
‫in de zware kop van bestanden op te nemen.

65
00:04:47,950 --> 00:04:49,330
‫Laten we proberen opnieuw te compileren en te zien.

66
00:04:49,850 --> 00:04:51,210
‫Het lijkt erop dat dat de enige fout was.

67
00:04:51,220 --> 00:04:52,690
‫Het is nu succesvol gecompileerd.

68
00:04:52,720 --> 00:04:55,840
‫Laten we doorgaan en op play drukken en kijken wat er gebeurt.

69
00:04:55,870 --> 00:04:56,380
‫Uitgang.

70
00:04:56,410 --> 00:04:57,520
‫Kijk eens bij onze.

71
00:04:57,850 --> 00:05:00,580
‫We willen eigenlijk de berichtbelasting bekijken, die ik niet open heb staan.

72
00:05:00,850 --> 00:05:07,720
‫Dus laten we naar de venster- en ontwikkelaarstools gaan en het uitvoerlogboek bekijken om te zien of we hier fouten hebben.

73
00:05:07,750 --> 00:05:08,110
‫Ja.

74
00:05:08,140 --> 00:05:10,780
‫Spawn-acteur is mislukt omdat er geen klasse is opgegeven.

75
00:05:10,810 --> 00:05:11,200
‫Zeker.

76
00:05:11,230 --> 00:05:14,710
‫Er is geen klasse opgegeven omdat we deze nog niet in de blauwdruk hebben geconfigureerd.

77
00:05:14,950 --> 00:05:21,160
‫Dus dit ga ik opslaan als een uitdaging voor jou om het wapen aan te sluiten, het eigendom in onze karakterblauwdrukken

78
00:05:21,160 --> 00:05:25,600
‫te vinden, het op het juiste wapen te zetten en te testen of het spawnt.

79
00:05:25,600 --> 00:05:26,650
‫Pauzeer de video en probeer het.

80
00:05:26,710 --> 00:05:27,520
‫Oké, welkom terug.

81
00:05:27,530 --> 00:05:36,190
‫Dus laten we naar ons schietpersonage BP gaan en het eigendom vinden dat op de route of de klas zou

82
00:05:36,190 --> 00:05:37,150
‫moeten staan.

83
00:05:37,150 --> 00:05:40,750
‫Standaardinstellingen gaan in op details en onder schieten een personage.

84
00:05:40,780 --> 00:05:47,350
‫Je kunt zien dat we hier een rotatie hebben die we hebben geconfigureerd en we hebben onze wapenklasse, wat een

85
00:05:47,350 --> 00:05:52,060
‫vervolgkeuzelijst is waarmee ik kan kiezen tussen het pistool dat het C++-pistool is.

86
00:05:52,180 --> 00:05:54,250
‫En hier komt een naamgevingsconventie van pas.

87
00:05:54,520 --> 00:05:57,640
‫De dingen met het BP-onderstrepingsteken zijn de blauwdrukken.

88
00:05:57,880 --> 00:06:00,280
‫Dus we willen AB BP onderstrepingsgeweer.

89
00:06:00,310 --> 00:06:05,620
‫We gaan door en selecteren dat compileren opslaan, gaan naar de scène en drukken op play.

90
00:06:06,190 --> 00:06:11,680
‫Nu, hopelijk hebben we geen fouten gekregen over het spawnen van een pistool.

91
00:06:12,070 --> 00:06:13,390
‫Het pistool had moeten worden voortgebracht.

92
00:06:13,390 --> 00:06:14,170
‫Oké.

93
00:06:14,500 --> 00:06:20,590
‫En om erachter te komen of dat zo is, kunnen we F8 en een kijkje nemen in de wereldomtrek.

94
00:06:20,650 --> 00:06:26,140
‫Als ik de wereldomtrek een beetje groter maak, kan ik zoeken naar het BP-onderstrepingsgeweer.

95
00:06:26,260 --> 00:06:26,890
‫Hoera.

96
00:06:26,890 --> 00:06:32,320
‫We hebben een BP-onderstrepingsgeweer op het moment dat het in de middle of nowhere staat en het is niet de juiste kinderidentificatie.

97
00:06:32,530 --> 00:06:34,750
‫Dat wordt het onderwerp van de volgende lezing.

98
00:06:34,750 --> 00:06:36,520
‫Dus ik zie je daar.

