﻿1
00:00:04,350 --> 00:00:04,980
‫Xin chào và chào mừng.

2
00:00:04,980 --> 00:00:13,110
‫Trong bài giảng này, chúng ta sẽ tạo ra khẩu súng trường của chúng ta trong thời gian chạy từ lớp ký tự của chúng ta trong C ++.

3
00:00:13,110 --> 00:00:15,270
‫Hãy đi sâu vào và xem nó được thực hiện như thế nào.

4
00:00:16,560 --> 00:00:16,740
‫Được chứ.

5
00:00:16,830 --> 00:00:23,640
‫Vì vậy, chúng tôi muốn súng của mình sinh ra khi còn là con của nhân vật bắn súng, điểm đầu tiên của cuộc gọi là

6
00:00:23,640 --> 00:00:27,390
‫có thể sinh ra diễn viên đó từ bên trong diễn viên khác.

7
00:00:27,870 --> 00:00:29,160
‫Chúng tôi sẽ làm điều này trong thời gian chạy.

8
00:00:29,160 --> 00:00:32,340
‫Chúng tôi sẽ làm điều đó khi bắt đầu chơi vì đó là cách bạn cần làm.

9
00:00:32,340 --> 00:00:34,440
‫Khi bạn sinh sản các diễn viên, bạn cần phải làm điều đó trong thời gian chạy.

10
00:00:34,620 --> 00:00:38,430
‫Và cách chúng ta sẽ làm điều này là chúng ta sẽ nắm giữ thế giới trước.

11
00:00:38,430 --> 00:00:44,400
‫Vì vậy, có được một thế giới và sau đó chúng ta sẽ gọi một hàm trên get world, nhân tiện, thế giới và cấp một từ đồng

12
00:00:44,400 --> 00:00:44,820
‫nghĩa.

13
00:00:44,820 --> 00:00:48,810
‫Vì vậy, những gì chúng tôi thực sự đang làm ở đây là chúng tôi đang nâng cao cấp độ và nói,

14
00:00:48,810 --> 00:00:54,210
‫này, cấp độ, bạn có thể tạo ra như một diễn viên vì tất cả các diễn viên về cơ bản đều thuộc về hoặc sống trong một cấp độ?

15
00:00:54,690 --> 00:00:58,500
‫Vì vậy, chúng tôi đang nói, bạn biết đấy, hãy đẻ trứng cho tôi, làm ơn.

16
00:00:58,830 --> 00:01:04,830
‫Và đây là một tác nhân sinh sản lấy mẫu.

17
00:01:04,830 --> 00:01:10,530
‫Bạn có thể nói, tôi muốn diễn viên mà tôi sắp sinh ra phải thuộc loại súng loại A.

18
00:01:10,530 --> 00:01:19,680
‫Và để điều đó hoạt động, chúng ta sẽ cần có một bao gồm ở đây băm bao gồm cho dấu chấm súng h.

19
00:01:21,240 --> 00:01:29,760
‫Và sau đó chúng ta sẽ tham gia vào một đối số và đối số để sinh ra thực sự có thể là một loại lớp.

20
00:01:29,760 --> 00:01:33,780
‫Vì vậy, theo mặc định, nó sẽ tiếp tục và sinh ra C ++.

21
00:01:33,780 --> 00:01:38,190
‫Nhưng ở đây chúng tôi muốn tạo ra đứa con trong bản thiết kế của khẩu súng này.

22
00:01:38,190 --> 00:01:43,590
‫Vì vậy, chúng tôi cần phải tìm ra những gì sẽ là những gì cần được kết nối trong Blueprint.

23
00:01:43,590 --> 00:01:46,110
‫Nó không thể được kết nối ở đây trong C ++, ít nhất là không dễ dàng.

24
00:01:46,110 --> 00:01:48,330
‫Nơi tốt nhất để làm điều đó là trong Bản thiết kế.

25
00:01:48,330 --> 00:01:52,380
‫Vì vậy, chúng ta sẽ thực hiện một alt oh để chuyển đến tệp tiêu đề cho vấn đề của chúng ta thành ký tự.

26
00:01:52,860 --> 00:01:55,620
‫Và chúng tôi sẽ thêm vào một tài sản mới của bạn ở đây.

27
00:01:56,390 --> 00:02:03,470
‫Để cho phép chúng ta định cấu hình lớp mà chúng ta nên trỏ tới để tạo ra một tác nhân.

28
00:02:03,470 --> 00:02:07,010
‫Chúng ta nên tạo ra lớp kế hoạch chi tiết nào từ nhân vật game bắn súng này?

29
00:02:07,370 --> 00:02:17,510
‫Chúng tôi sẽ có nó dưới dạng mặc định chỉnh sửa chỉ y chỉnh sửa mặc định chỉ vì chúng tôi không muốn có thể chỉnh sửa điều này trong thời gian chạy vì nó

30
00:02:17,510 --> 00:02:22,490
‫sẽ tạo ấn tượng sai rằng bạn có thể thay đổi loại súng chúng tôi đang sử

31
00:02:22,490 --> 00:02:23,840
‫dụng thời gian chạy.

32
00:02:23,840 --> 00:02:29,810
‫Trong khi Begin Play đã được gọi là súng đã được tạo ra và vì vậy nó sẽ không thực sự cập nhật bất

33
00:02:29,810 --> 00:02:30,710
‫cứ điều gì.

34
00:02:30,710 --> 00:02:35,090
‫Vì vậy, chúng tôi không muốn làm cho nó có thể chỉnh sửa để không tạo cho mọi người ấn tượng sai lầm về những gì có thể làm được.

35
00:02:35,450 --> 00:02:41,810
‫Và ở đây chúng ta sẽ sử dụng một macro được gọi là lớp con T mà bạn có thể đã xem qua

36
00:02:41,810 --> 00:02:45,230
‫hoặc chưa từng xem qua và lớp con DT là một mẫu.

37
00:02:45,230 --> 00:02:52,520
‫Vì vậy, chúng tôi sử dụng lại các dấu ngoặc nhọn này và chúng tôi muốn nó nói một loại súng phụ.

38
00:02:52,790 --> 00:02:59,630
‫Và về cơ bản điều này có nghĩa là nó cho phép Blueprint hạn chế các lớp mà chúng

39
00:02:59,630 --> 00:03:05,630
‫ta có thể chọn từ chỉ các lớp là lớp con của lớp Gun C ++.

40
00:03:05,960 --> 00:03:11,000
‫Bây giờ đây sẽ không phải là một con trỏ vì chúng tôi không chỉ vào một phiên bản thực tế của khẩu súng.

41
00:03:11,000 --> 00:03:15,590
‫Những gì chúng ta nhận được ở đây trong biến này là một lớp.

42
00:03:15,590 --> 00:03:18,530
‫Trong trường hợp này, đó là một lớp thiết kế, nhưng nó vẫn là một lớp.

43
00:03:18,860 --> 00:03:25,730
‫Vì vậy, những gì chúng tôi sẽ muốn gọi đây là lớp súng, chỉ để làm rõ rằng đây thực sự

44
00:03:25,730 --> 00:03:27,950
‫không phải là bản thân súng.

45
00:03:28,010 --> 00:03:36,800
‫Chúng tôi muốn một tài sản khác ở đây để cất súng và đó sẽ không phải là một mặc định chỉnh sửa.

46
00:03:36,800 --> 00:03:42,470
‫Vì vậy, về cơ bản, chúng tôi không muốn biến nó thành một thuộc tính hiển thị, nhưng nó sẽ là một con trỏ

47
00:03:42,470 --> 00:03:43,130
‫súng A.

48
00:03:43,130 --> 00:03:43,880
‫Thấy sự khác biệt?

49
00:03:43,880 --> 00:03:50,780
‫Một trong số chúng là loại súng phụ, loại còn lại là súng trỏ và loại này là súng thực tế.

50
00:03:50,780 --> 00:03:54,710
‫Đó là khi chúng tôi đã tạo một thể hiện của lớp, đó là nơi chúng tôi sẽ lưu trữ nó.

51
00:03:54,920 --> 00:04:03,860
‫Vì vậy, chúng ta hãy tiếp tục với CP game bắn súng của chúng tôi và kết thúc phần chơi bắt đầu này, nơi chúng ta đang sinh ra những thứ để chúng ta sẽ

52
00:04:03,860 --> 00:04:08,030
‫có súng ngang bằng để có được súng của diễn viên sinh sản thế giới.

53
00:04:08,030 --> 00:04:14,150
‫Và đối số mà chúng ta sẽ chuyển qua ở đây là hạng súng, mà chúng ta sẽ đề cập

54
00:04:14,150 --> 00:04:14,930
‫trong Blueprint.

55
00:04:14,930 --> 00:04:17,810
‫Vì vậy, chúng ta hãy thử và biên dịch cái này.

56
00:04:17,810 --> 00:04:18,890
‫Nó có thể cung cấp cho chúng tôi một số lỗi.

57
00:04:18,890 --> 00:04:25,850
‫Hãy xem, tôi đã mở nhật ký tin nhắn với nhật ký biên dịch và chắc chắn rằng, chúng tôi đang gặp một số lỗi ở đây trong

58
00:04:25,850 --> 00:04:31,250
‫tệp head cho biết số nhận dạng chưa được khai báo vì chúng tôi cần chuyển tiếp khai báo khẩu súng.

59
00:04:31,250 --> 00:04:35,690
‫Vì vậy, tôi sẽ chỉ làm điều này ở phần trên bởi vì nó ở hai vị trí mà tôi sẽ nói về lớp học.

60
00:04:36,580 --> 00:04:39,460
‫Một khẩu súng như vậy.

61
00:04:39,760 --> 00:04:45,070
‫Và chỉ cần một lời nhắc nhở, khai báo chuyển tiếp như thế này có nghĩa là chúng ta có thể giảm thời gian biên dịch của

62
00:04:45,070 --> 00:04:47,650
‫mình bằng cách không đưa quá nhiều vào các tệp tiêu đề nặng.

63
00:04:48,010 --> 00:04:49,570
‫Hãy thử biên dịch lại và xem.

64
00:04:49,820 --> 00:04:51,250
‫Có vẻ như đó là lỗi duy nhất.

65
00:04:51,250 --> 00:04:52,730
‫Nó hiện đã được biên dịch thành công.

66
00:04:52,750 --> 00:04:55,930
‫Hãy tiếp tục và nhấn chơi và xem điều gì sẽ xảy ra.

67
00:04:55,960 --> 00:04:56,410
‫Lối ra.

68
00:04:56,440 --> 00:04:57,860
‫Có một cái nhìn vào của chúng tôi.

69
00:04:57,880 --> 00:05:00,760
‫Về cơ bản, chúng tôi muốn xem nhật ký tin nhắn, mà tôi chưa mở.

70
00:05:00,760 --> 00:05:07,770
‫Vì vậy, chúng ta hãy đi đến cửa sổ và công cụ nhà phát triển và xem nhật ký đầu ra và xem chúng ta có bất kỳ lỗi nào ở đây không.

71
00:05:07,780 --> 00:05:10,810
‫Có, tác nhân sinh sản không thành công vì không có lớp nào được chỉ định.

72
00:05:10,810 --> 00:05:14,920
‫Chắc chắn, không có lớp nào được chỉ định vì chúng tôi chưa định cấu hình nó trong bản thiết kế.

73
00:05:14,920 --> 00:05:21,190
‫Vì vậy, điều này tôi sẽ đưa ra như một thử thách cho bạn để móc khẩu súng, tìm tài sản trong bản thiết kế nhân vật của

74
00:05:21,190 --> 00:05:25,660
‫chúng tôi, đặt nó vào khẩu súng chính xác và kiểm tra xem nó có sinh sản hay không.

75
00:05:25,660 --> 00:05:26,740
‫Tạm dừng video và bắt đầu.

76
00:05:26,770 --> 00:05:27,580
‫K Chào mừng bạn trở lại.

77
00:05:27,580 --> 00:05:36,850
‫Vì vậy, chúng ta hãy đi qua nhân vật game bắn súng của chúng ta BP và tìm thuộc tính nên có trên tuyến đường hoặc lớp

78
00:05:36,850 --> 00:05:37,210
‫học.

79
00:05:37,210 --> 00:05:40,810
‫Các giá trị mặc định đi vào chi tiết và nhấn mạnh một ký tự.

80
00:05:40,810 --> 00:05:47,380
‫Bạn có thể thấy chúng tôi có tốc độ quay ở đây mà chúng tôi đã định cấu hình và chúng tôi đã có loại súng

81
00:05:47,380 --> 00:05:52,150
‫của mình, đây là danh sách thả xuống cho phép tôi chọn giữa súng là súng C ++.

82
00:05:52,150 --> 00:05:54,460
‫Và đây là nơi mà quy ước đặt tên của chúng tôi có ích.

83
00:05:54,460 --> 00:05:57,790
‫Những thứ bắt đầu bằng dấu gạch dưới BP là bản thiết kế.

84
00:05:57,790 --> 00:06:04,900
‫Vì vậy, chúng tôi muốn khẩu súng trường có dấu gạch dưới BP của mình, hãy tiếp tục và chọn bản lưu biên dịch đó, chuyển đến hiện trường

85
00:06:04,900 --> 00:06:05,830
‫và nhấn chơi.

86
00:06:06,190 --> 00:06:11,950
‫Bây giờ, hy vọng, chúng tôi không có bất kỳ sai sót nào về việc tạo ra khẩu súng của chúng tôi.

87
00:06:11,980 --> 00:06:13,480
‫Khẩu súng lẽ ra đã sinh sản.

88
00:06:13,480 --> 00:06:14,410
‫Được chứ.

89
00:06:14,410 --> 00:06:20,620
‫Và để tìm hiểu xem nó có chưa, chúng ta có thể f 8 và xem phác thảo thế giới.

90
00:06:20,710 --> 00:06:26,200
‫Nếu tôi làm cho đường viền thế giới lớn hơn một chút, tôi có thể tìm kiếm khẩu súng trường có gạch dưới BP.

91
00:06:26,350 --> 00:06:26,910
‫Tiếng hoan hô.

92
00:06:26,920 --> 00:06:32,200
‫Chúng tôi có một khẩu súng trường có gạch dưới BP ngay lúc nó ở giữa hư không và nó không phải là ID con chính

93
00:06:32,200 --> 00:06:32,470
‫xác.

94
00:06:32,470 --> 00:06:34,780
‫Đó sẽ là chủ đề của bài giảng tiếp theo.

95
00:06:34,780 --> 00:06:36,760
‫Vì vậy, tôi sẽ gặp bạn ở đó.

