﻿1
00:00:04,110 --> 00:00:07,740
‫ในการบรรยายนี้ เราจะสร้างคลาส C++

2
00:00:07,770 --> 00:00:11,310
‫ตอนนี้เราต้องการคลาสที่เราสามารถใช้สำหรับการจำนำของเราได้

3
00:00:11,340 --> 00:00:15,720
‫ตอนนี้ฉันกำลังพูดถึงเบี้ย พหูพจน์ เพราะในเกมของเราจะมีเบี้ยที่แตกต่างกันสองแบบ

4
00:00:15,720 --> 00:00:20,280
‫จะมีรถถังที่เราใช้หมุนไปรอบๆ เลเวล และจะมีป้อมปืนซึ่งจะเป็นศัตรูของเรา

5
00:00:20,280 --> 00:00:24,870
‫เราจึงสามารถสร้างคลาสจำนำพื้นฐานได้

6
00:00:24,870 --> 00:00:30,050
‫และนี่จะมีฟังก์ชันพื้นฐานที่ทั้งรถถังและป้อมปืนจะใช้ร่วมกัน

7
00:00:30,060 --> 00:00:34,890
‫และด้วยวิธีนี้ เราสามารถสร้างสองคลาสย่อยของเรา รถถังและป้อมปืน

8
00:00:34,890 --> 00:00:40,890
‫ดังนั้นสิ่งเหล่านี้จะสืบทอดคุณสมบัติจากคลาสเบี้ยพื้นฐาน และนี่คือสิ่งที่เบี้ยทั้งสองจะแบ่งปันกัน

9
00:00:40,890 --> 00:00:47,820
‫เช่น การมีตาข่าย การมีส่วนประกอบของแคปซูล และความสามารถในการยิงขีปนาวุธ

10
00:00:47,820 --> 00:00:51,840
‫ตอนนี้ เราจะพูดถึงคุณสมบัติทั้งหมดเหล่านั้นในวิดีโอในอนาคตของวิดีโอนี้

11
00:00:51,840 --> 00:00:56,280
‫เรากำลังจะสร้างคลาส C++ และเพิ่มตัวแปรพื้นฐานลงไป

12
00:00:56,280 --> 00:01:00,990
‫นี่คือแรงจูงใจของเราในการสร้างคลาส C++ แรกของเรา

13
00:01:01,020 --> 00:01:06,450
‫ตอนนี้เราพร้อมที่จะเริ่มสร้างคลาส C++ สำหรับโปรเจ็กต์นี้แล้ว

14
00:01:06,630 --> 00:01:13,410
‫ตอนนี้ คุณจะเห็นที่นี่ในเบราว์เซอร์เนื้อหาว่าไม่มีโฟลเดอร์สำหรับคลาส C++

15
00:01:13,410 --> 00:01:19,770
‫นั่นเป็นเพราะเรายังไม่ได้สร้างอะไรเลย แต่ตอนนี้เรากำลังจะเขียนเพื่อไปที่เครื่องมือและเลือกคลาส

16
00:01:19,770 --> 00:01:22,140
‫C++ ใหม่

17
00:01:22,140 --> 00:01:27,690
‫และนี่คือที่ที่เราจะเลือกคลาสหลักสำหรับชั้นเรียนที่เราจะสร้าง

18
00:01:27,690 --> 00:01:31,740
‫และโดยค่าเริ่มต้น เรามีตัวเลือกมากมายให้เลือก

19
00:01:31,740 --> 00:01:35,330
‫นี่คือสิ่งที่คุณควรจะได้เห็นในการบรรยายครั้งก่อน

20
00:01:35,330 --> 00:01:38,280
‫ตอนนี้เรามีการตัดสินใจบางอย่างที่ต้องทำที่นี่

21
00:01:38,370 --> 00:01:41,550
‫สำหรับหนึ่งเราจะเลือกผู้ปกครองชั้นเรียนใด?

22
00:01:41,550 --> 00:01:42,210
‫เรามี.

23
00:01:42,210 --> 00:01:43,860
‫อันแรกไม่มี

24
00:01:43,860 --> 00:01:50,910
‫ซึ่งจะทำให้เราสามารถสร้างคลาส C++ แบบเก่าได้ แต่เราจำเป็นต้องมีฟังก์ชันพิเศษบางอย่าง

25
00:01:50,910 --> 00:01:55,440
‫ประการหนึ่ง เราต้องการวางตัวอย่างของวัตถุนี้ในโลก

26
00:01:55,440 --> 00:01:58,230
‫ดังนั้นเราจึงไม่สามารถทำได้ด้วยคลาส C++ แบบเก่าธรรมดา

27
00:01:58,230 --> 00:02:05,250
‫เราสามารถทำได้ด้วยตัวละครหรือเบี้ยหรือนักแสดง แต่สิ่งใดที่เหมาะสมที่สุดสำหรับสิ่งที่เราต้องการทำ?

28
00:02:05,400 --> 00:02:10,020
‫เราต้องย้อนกลับไปและคิดว่าเรากำลังพยายามสร้างอะไรที่นี่

29
00:02:10,050 --> 00:02:21,570
‫เรากำลังพยายามสร้างรถถังที่เราสามารถควบคุมและเคลื่อนที่ไปรอบ ๆ ระดับและยิงขีปนาวุธเพื่อที่เราจะสามารถสร้างความเสียหายและสิ่งที่ดีทั้งหมดนั้นในโฟลเดอร์ทรัพย์สินของเรา

30
00:02:21,570 --> 00:02:28,770
‫เพื่อเตือนเราว่า เรามีโฟลเดอร์ตาข่ายที่นี่ และเรามีฐานรถถัง และเรามีป้อมปืนรถถัง

31
00:02:28,800 --> 00:02:32,670
‫นี่คือตาข่ายสองแบบที่แตกต่างกันที่จะอยู่ในชั้นเรียนของเรา

32
00:02:32,670 --> 00:02:35,640
‫ดังนั้นเราจึงต้องการความสามารถในการมีเมช

33
00:02:35,640 --> 00:02:39,270
‫ดังนั้นคลาส C ++ ธรรมดาจึงไม่มีความสามารถนั้น

34
00:02:39,540 --> 00:02:41,670
‫ลองคิดดูสักครู่

35
00:02:41,670 --> 00:02:44,250
‫เราควรใช้คลาสผู้ปกครองประเภทใด

36
00:02:44,250 --> 00:02:48,780
‫คลาสแรกที่คุณน่าจะนึกถึงคือคลาสนักแสดง

37
00:02:48,780 --> 00:02:52,320
‫ตอนนี้คลาสนักแสดงมีความสามารถที่จะอยู่ในโลก

38
00:02:52,320 --> 00:02:53,850
‫นั่นเป็นการเริ่มต้นที่ดี

39
00:02:53,940 --> 00:02:57,750
‫อีกทั้งยังมีความสามารถในการแสดงภาพ

40
00:02:57,750 --> 00:03:07,650
‫ไม่ว่าจะเป็นตาข่ายหรืออย่างอื่น มันสามารถเห็นได้จริงเมื่อคุณวางไว้ในโลกนี้ โดยที่คุณให้มันเป็นตาข่ายหรืออะไรก็ตามที่คุณอยากเห็น

41
00:03:07,650 --> 00:03:13,260
‫ตอนนี้ได้มาจากนักแสดง เรามี -- คลาส และ -- สืบทอดคุณสมบัติเหล่านั้นทั้งหมดจากคลาสนักแสดง

42
00:03:13,260 --> 00:03:19,830
‫ยกเว้นว่ามันมีคุณสมบัติเพิ่มเติม เช่น ความสามารถในการถูกควบคุมโดยผู้ควบคุม

43
00:03:19,830 --> 00:03:25,980
‫ตอนนี้สิ่งที่ครอบครองทั้งหมดเป็นสิ่งที่จะลงรายละเอียดเพิ่มเติมในภายหลัง แต่สำหรับตอนนี้

44
00:03:25,980 --> 00:03:30,060
‫แค่เข้าใจว่านี่หมายถึง a -- สามารถควบคุมโดยผู้เล่น

45
00:03:30,060 --> 00:03:36,750
‫ดังนั้น หากคุณกำลังกดปุ่มเมาส์หรือแป้นคีย์บอร์ด คุณสามารถตั้งค่าและกำหนดค่าเพื่อให้เราสามารถย้าย

46
00:03:36,750 --> 00:03:38,580
‫-- ไปมาได้

47
00:03:38,580 --> 00:03:43,110
‫ฟังดูเหมือนเป็นสิ่งที่เราต้องการสำหรับรถถังของเราอย่างแน่นอน

48
00:03:43,110 --> 00:03:49,410
‫ดังนั้นโดยการจัดการอินพุตการเคลื่อนไหว -- ฟังดูเหมือนเป็นตัวเลือกที่ดีทีเดียว ที่ได้มาจากคลาส

49
00:03:49,410 --> 00:03:56,880
‫-- และด้วยเหตุนี้จึงสืบทอดทุกสิ่งที่ -- มี บวกกับทุกสิ่งที่ -- สืบทอดมาจากคลาสพาเรนต์

50
00:03:56,880 --> 00:04:02,100
‫เรามีคลาสตัวละครซึ่งมีเนื้อหาเฉพาะของตัวละคร

51
00:04:02,460 --> 00:04:05,550
‫ตัวอย่างเช่น มันมีบางอย่างที่เรียกว่าองค์ประกอบการเคลื่อนไหวของตัวละคร

52
00:04:05,550 --> 00:04:07,830
‫ตอนนี้ a -- ไม่มีสิ่งนี้

53
00:04:07,860 --> 00:04:13,980
‫องค์ประกอบของการเคลื่อนไหวของตัวละครช่วยให้ตัวละครมีความสามารถพิเศษ เช่น โหมดการเคลื่อนไหวต่างๆ

54
00:04:13,980 --> 00:04:19,440
‫เช่น การบิน การว่ายน้ำ และการหมอบ และสิ่งอื่น ๆ เฉพาะสำหรับตัวละคร

55
00:04:19,440 --> 00:04:28,410
‫คลาสของตัวละครนั้นดีสำหรับตัวละครแบบสองเท้า และมันจะไม่ได้ผลดีนักสำหรับตัวละครที่ไม่ใช่แบบสองขาซึ่งไม่ใช่สิ่งมีชีวิตที่มีสองขา

56
00:04:28,410 --> 00:04:34,050
‫และถึงแม้ว่ามันจะยอดเยี่ยมมากที่มีรถถังบินไปรอบ ๆ ด่านและวางระเบิดบนทุกสิ่งที่มันเห็น

57
00:04:34,050 --> 00:04:38,940
‫เราจะไม่ทำอะไรที่ค่อนข้างซับซ้อนในส่วนนี้

58
00:04:38,940 --> 00:04:41,040
‫เรากำลังจะสร้างรถถังที่หมุนได้

59
00:04:41,040 --> 00:04:47,220
‫ดังนั้นเราจึงไม่ต้องการองค์ประกอบการเคลื่อนไหวของตัวละครหรือเนื้อหาเฉพาะของตัวละครพิเศษใด ๆ เลย

60
00:04:47,220 --> 00:04:52,380
‫สำหรับสิ่งนี้ ฉันคิดว่า a -- เหมาะสมที่สุดสำหรับสิ่งที่เราพยายามทำให้สำเร็จ

61
00:04:52,380 --> 00:04:59,490
‫ฉันจะขอท้าให้คุณสร้างคลาส C++ ใหม่ สร้างคลาสตาม -- และตั้งชื่อคลาสใหม่ตาม

62
00:04:59,490 --> 00:05:01,230
‫--

63
00:05:01,230 --> 00:05:03,600
‫ตอนนี้คุณสามารถปล่อยให้การตั้งค่าทั้งหมดเป็นอยู่

64
00:05:03,670 --> 00:05:05,200
‫ในตัวช่วยสร้างชั้นเรียน

65
00:05:05,200 --> 00:05:10,570
‫คุณไม่จำเป็นต้องเปลี่ยนเส้นทางของไฟล์หรืออะไรทำนองนั้น ดังนั้น หยุดวิดีโอชั่วคราวและสร้างคลาส

66
00:05:10,570 --> 00:05:13,030
‫C++ แรกสำหรับโปรเจ็กต์นี้

67
00:05:16,320 --> 00:05:18,090
‫ดังนั้นกลับมาที่นี่ในระดับ

68
00:05:18,120 --> 00:05:21,690
‫ไปที่เครื่องมือและสร้างคลาส C ++ ใหม่

69
00:05:21,690 --> 00:05:24,260
‫ฉันยังไม่ได้สร้างคลาส C ++

70
00:05:24,270 --> 00:05:27,180
‫ฉันเพิ่งปิดสิ่งนี้เพื่อกลับไปที่สไลด์นั้น

71
00:05:27,180 --> 00:05:36,720
‫แต่ตอนนี้ฉันกลับมาแล้ว ฉันพร้อมที่จะสร้างคลาส C++ แรกของฉันสำหรับโปรเจ็กต์นี้ แล้วฉันจะเลือก -- และคุณจะเห็นว่าทุกครั้งที่วางเมาส์เหนือสิ่งเหล่านี้

72
00:05:36,720 --> 00:05:38,370
‫คุณอาจเคยเห็นสิ่งนี้มาก่อน

73
00:05:38,400 --> 00:05:45,660
‫เราได้รับคำแนะนำเครื่องมือที่ปรากฏขึ้นและบอกว่า -- เป็นคลาสพื้นฐานของนักแสดงทั้งหมดที่ผู้เล่นสามารถครอบครองได้

74
00:05:45,660 --> 00:05:53,370
‫หรือฉันรู้ว่าฟังดูน่าตื่นเต้น แต่เราจะกำหนดค่าให้สามารถเคลื่อนย้ายได้โดยอินพุตจากผู้เล่น

75
00:05:53,370 --> 00:05:55,380
‫นี่จึงสมบูรณ์แบบ

76
00:05:55,470 --> 00:06:01,020
‫กล่าวต่อไปว่าพวกเขาเป็นตัวแทนทางกายภาพของผู้เล่นและสิ่งมีชีวิตในระดับ

77
00:06:01,020 --> 00:06:07,080
‫กล่าวอีกนัยหนึ่ง เมื่อเราสร้างรถถังนี้ มันจะเป็นตัวแทนของเราในฐานะผู้เล่นในโลก

78
00:06:07,080 --> 00:06:07,950
‫สวยเย็น

79
00:06:08,040 --> 00:06:15,960
‫เลือก -- และคลิกถัดไป และมันแสดงให้เราเห็นเส้นทางที่จะติดคลาสนี้ในโครงการของเรา และคุณจะเห็นว่ามันอยู่ในรถถัง

80
00:06:15,960 --> 00:06:20,070
‫slash tune ที่มา

81
00:06:20,070 --> 00:06:26,280
‫ตอนนี้เรากำลังจะตั้งชื่อใหม่ของเรา -- เพราะชื่อของฉัน -- เป็นชื่อที่น่ากลัวและคลุมเครือมาก

82
00:06:26,280 --> 00:06:29,700
‫เราต้องการบางอย่างที่เฉพาะเจาะจงมากกว่านี้

83
00:06:29,700 --> 00:06:35,400
‫เรากำลังวางแผนที่จะใช้สิ่งนี้เป็นคลาสพื้นฐาน ซึ่งหมายความว่าเราจะรับคลาสจากคลาสนี้เพื่อเรียกฐานนี้ว่า

84
00:06:35,400 --> 00:06:38,340
‫--

85
00:06:38,340 --> 00:06:43,080
‫ตอนนี้ ฉันรู้ว่านั่นไม่ได้ดีไปกว่าของฉัน -- แต่นี่ มันกำลังบอกเราว่านี่คือฐาน --

86
00:06:43,080 --> 00:06:46,770
‫นี่คือสิ่งที่เรากำลังจะได้รับจากชั้นเรียนเด็กในอนาคต

87
00:06:46,770 --> 00:06:47,730
‫เราจะไปที่นั้น

88
00:06:47,730 --> 00:06:52,320
‫แต่ตอนนี้ เราจะเรียกฐานนี้ว่า -- และเราจะคลิกสร้างชั้นเรียน

89
00:06:53,930 --> 00:06:54,590
‫ไม่เป็นไร.

90
00:06:54,590 --> 00:06:58,340
‫ดังนั้นโค้ด Visual Studio จึงเปิดขึ้นสำหรับคลาสใหม่ของเรา

91
00:06:58,340 --> 00:07:01,700
‫เราได้ยึดตาม H และตาม CP

92
00:07:01,730 --> 00:07:08,180
‫ตอนนี้ เราสามารถปิดแถบด้านข้างนี้ได้โดยคลิกที่ไอคอน Explorer ที่นั่น และเราสามารถดูว่าโค้ดของ

93
00:07:08,180 --> 00:07:09,890
‫V สร้างอะไรให้เราได้บ้าง

94
00:07:09,890 --> 00:07:18,380
‫ดังนั้นโดยค่าเริ่มต้น เราจะได้ตัวสร้างคลาสรวมถึงฟังก์ชันสามอย่าง start, play, tick และ set up ส่วนประกอบอินพุตของผู้เล่น

95
00:07:18,410 --> 00:07:21,980
‫ตอนนี้คุณควรจะคุ้นเคยกับ Begin, Play และทำเครื่องหมายที่ความคิดเห็นที่นี่

96
00:07:21,980 --> 00:07:23,300
‫อธิบายสิ่งที่พวกเขาทำ

97
00:07:23,330 --> 00:07:28,790
‫การตั้งค่าองค์ประกอบอินพุตของผู้เล่นเป็นสิ่งที่จำนำได้รับ และฟังก์ชันนี้ช่วยให้เราจัดการกับอินพุต

98
00:07:28,790 --> 00:07:35,690
‫เช่น จากแป้นคีย์บอร์ดหรือการคลิกเมาส์ และเราจะเรียนรู้เพิ่มเติมเกี่ยวกับวิธีการทำงานนี้ในวิดีโอในอนาคตในเบสแบนด์

99
00:07:35,840 --> 00:07:42,740
‫CP ฟังก์ชั่นเหล่านี้ถูกกำหนดไว้สำหรับเรา แต่ก็ค่อนข้างเปล่าประโยชน์และจะไม่เปลี่ยนแปลงสิ่งนี้ในวิดีโอในอนาคตเช่นกัน

100
00:07:42,740 --> 00:07:51,770
‫ดังนั้นในวิดีโอนี้ เราจึงสร้างคลาส C++ แรกขึ้นมา และในวิดีโอถัดไปจะกล่าวถึงส่วนประกอบต่างๆ และเหตุผลที่เราต้องการเพิ่มบางคลาสในคลาสใหม่ของเรา

101
00:07:51,800 --> 00:07:52,790
‫เจอกันเร็วๆนี้ครับ

