﻿1
00:00:04,390 --> 00:00:05,560
‫สวัสดีและยินดีต้อนรับ.

2
00:00:05,560 --> 00:00:11,230
‫ในการบรรยายนี้ เราจะทำการหมุนเวียนและเคลื่อนย้ายแพลตฟอร์ม

3
00:00:11,230 --> 00:00:17,560
‫เราจะทำสิ่งนี้โดยการเรียนรู้เกี่ยวกับประเภท F rotator ใน C++ เพื่อให้เราสามารถเพิ่มองค์ประกอบอื่น

4
00:00:17,560 --> 00:00:20,950
‫ๆ ให้กับปริศนาของเราได้อีกเล็กน้อย

5
00:00:20,950 --> 00:00:23,950
‫มาดูวิธีการทำงานกันเลย

6
00:00:24,280 --> 00:00:28,300
‫เรามาพูดถึงการกรอกฟังก์ชันแพลตฟอร์มหมุนเวียนของเรากัน

7
00:00:28,510 --> 00:00:35,350
‫ดังนั้น ในการทำการหมุน มันคล้ายกับวิธีที่เราทำตำแหน่งมาก และเรามีฟังก์ชันที่คล้ายกันมาก

8
00:00:35,350 --> 00:00:43,240
‫โทรแทนโทรได้ หาตำแหน่งนักแสดง โทรก็ได้ สับเปลี่ยนนักแสดงแทน

9
00:00:43,240 --> 00:00:49,270
‫และถ้าฉันใส่วงเล็บต่อท้ายบรรทัดนี้ แล้วเลื่อนเมาส์ไปเหนือฟังก์ชัน Visual

10
00:00:49,270 --> 00:00:55,630
‫Studio IntelliSense จะแสดงให้เราเห็นว่าค่าที่ส่งกลับจากสิ่งนี้คือ F rotator

11
00:00:55,630 --> 00:01:02,830
‫เราใช้เวกเตอร์ F เมื่อทำงานกับสถานที่ และเราได้พูดคุยเกี่ยวกับ rotators ในส่วนก่อนหน้านี้

12
00:01:02,830 --> 00:01:07,090
‫ลองมาดูการวาง F rotator นี้ลงในตัวแปรโลคัลกัน

13
00:01:07,090 --> 00:01:17,680
‫ดังนั้นประเภทจะเป็น F rotator และเราจะเรียกสิ่งนี้ว่าการหมุนปัจจุบัน เท่ากับการหมุน get ของนักแสดง ใส่เครื่องหมายอัฒภาคที่ท้ายบรรทัด

14
00:01:17,680 --> 00:01:20,260
‫ฉันจะลบคำสั่งบันทึกด้วยเพราะเราไม่ต้องการสิ่งนั้นอีกต่อไป

15
00:01:20,260 --> 00:01:31,810
‫แล้วสิ่งที่เราต้องการจะทำก็เหมือนกับที่เราทำกับความเร็วของแท่น ซึ่งเป็นความเร็วการหมุนชนิดหนึ่งคูณด้วยเวลาเดลต้าที่เพิ่มเข้ากับการหมุนปัจจุบัน

16
00:01:31,810 --> 00:01:35,470
‫แล้วความเร็วรอบนั้นควรเป็นเท่าไหร่?

17
00:01:35,470 --> 00:01:39,520
‫นั่นคือที่ที่เราต้องการไปที่ไฟล์ส่วนหัวและเพิ่มคุณสมบัติ U ใหม่

18
00:01:39,520 --> 00:01:48,760
‫ผมจะบวกมันไว้ใต้ระยะการเคลื่อนที่ และผมจะแก้ไขคุณสมบัติ U ที่ใดก็ได้ จากนั้นให้หมวดหมู่เท่ากับครั้งนี้

19
00:01:49,300 --> 00:02:00,100
‫ผมจะเรียกมันว่าการหมุน และผมจะเปลี่ยน ชื่อหมวดหมู่จากการย้ายแพลตฟอร์มเป็นการย้ายในทั้งสองกรณี

20
00:02:00,100 --> 00:02:03,850
‫เราจะมีหมวดหมู่สำหรับการย้าย หมวดหมู่สำหรับการหมุนเวียน

21
00:02:03,850 --> 00:02:11,800
‫จากนั้นภายใต้คุณสมบัติ เราจะใส่ F rotator ที่เรียกว่า ความเร็วในการหมุน และเราจะไม่ให้ค่าเริ่มต้นที่นี่ เพราะโดยค่าเริ่มต้น

22
00:02:11,800 --> 00:02:16,780
‫ฉันไม่ต้องการให้แพลตฟอร์มใดๆ ของเราหมุนเวียน

23
00:02:16,780 --> 00:02:21,190
‫ดังนั้นค่าเริ่มต้นจะเป็น 000 และนั่นคือสิ่งที่เราต้องการ

24
00:02:21,280 --> 00:02:26,470
‫ดังนั้นฉันจะใส่เครื่องหมายอัฒภาคต่อท้ายบรรทัดนี้ และตอนนี้เราสามารถกลับไปที่ไฟล์

25
00:02:26,470 --> 00:02:31,330
‫C++ และใช้ตัวแปรสมาชิกนั้นในฟังก์ชันแพลตฟอร์มแบบหมุนของเราได้

26
00:02:31,330 --> 00:02:46,750
‫สิ่งที่เราอยากทำคือการหมุนปัจจุบันเท่ากับการหมุนปัจจุบัน บวกความเร็วการหมุนคูณด้วยเวลาเดลต้า และใส่เครื่องหมายอัฒภาคที่ท้ายบรรทัด

27
00:02:46,900 --> 00:02:52,660
‫และตอนนี้ ปริศนาชิ้นสุดท้ายคือการกำหนดนักแสดงของเราให้เข้าสู่การหมุนรอบใหม่

28
00:02:52,660 --> 00:03:00,130
‫อย่างที่คุณคาดไว้ บางทีอาจเป็นความท้าทายเล็กๆ น้อยๆ สำหรับคุณ อันที่จริงแล้ว คุณจะทำอย่างนั้นได้อย่างไร?

29
00:03:01,970 --> 00:03:10,430
‫สิ่งที่เราจะใช้คือฟังก์ชันการหมุนของตัวแสดง และเราจะส่งผ่านอาร์กิวเมนต์ของการหมุนปัจจุบันเช่นนั้น

30
00:03:10,430 --> 00:03:14,930
‫แล้วใส่เครื่องหมายอัฒภาคที่ท้ายบรรทัด

31
00:03:14,960 --> 00:03:19,160
‫น่าเสียดายที่มันไม่ได้ผลง่ายๆ เท่านี้

32
00:03:19,310 --> 00:03:22,190
‫ฉันสนใจ นักเรียนบางคนได้ชี้ให้เห็นในผู้ช่วยสอน

33
00:03:22,190 --> 00:03:27,920
‫ขอบคุณมาก Dan ได้ชี้ให้เห็นว่าการเพิ่มการหมุนเข้าด้วยกันแบบนี้จะไม่ทำงานเสมอไป

34
00:03:27,920 --> 00:03:32,710
‫เนื่องจากมีความยุ่งยากบางอย่างเกี่ยวกับการหมุนรอบตัวตัวเอง

35
00:03:32,720 --> 00:03:38,870
‫หากคุณหมุนไปจนสุดที่ -90 องศา ในบางจุด คุณต้องพลิกกลับเป็นการหมุนบวก

36
00:03:38,870 --> 00:03:41,070
‫90 องศา และอื่นๆ เป็นต้น

37
00:03:41,090 --> 00:03:50,540
‫วิธีที่ดีกว่าในการแก้ปัญหานี้ แทนที่จะตั้งค่าการหมุนแบบแอ็คทีฟ คือการเรียกการหมุนเวียนในพื้นที่ของนักแสดงเพิ่ม

38
00:03:50,540 --> 00:03:57,830
‫และคุณสามารถสังเกตได้ที่นี่ว่ามีบางรูปแบบที่เพิ่มนักแสดงในท้องถิ่นและออฟเซ็ตท้องถิ่นสำหรับสถานที่

39
00:03:57,830 --> 00:04:00,920
‫ดังนั้นคุณจึงสามารถใช้สิ่งนั้นแทนการเพิ่มตำแหน่งได้เช่นกัน

40
00:04:00,920 --> 00:04:06,380
‫อย่างไรก็ตาม ไม่มีปัญหาแบบเดียวกับที่เราจะพบในกรณีขอบรอบการหมุน

41
00:04:06,380 --> 00:04:19,670
‫ดังนั้นสิ่งที่ฉันอยากจะแนะนำให้คุณทำคือเพิ่มนักแสดงท้องถิ่นหมุนที่นี่แทนแล้วคุณใส่ในความเร็วการหมุนคูณด้วยเวลาเดลต้าและมันจะทำให้ส่วนที่เหลือของรหัสนี้โดยอัตโนมัติสำหรับคุณ

42
00:04:19,670 --> 00:04:22,100
‫ดังนั้นเราจึงสามารถไปข้างหน้าและกำจัดเส้นเหล่านั้น

43
00:04:22,100 --> 00:04:27,560
‫และคุณมีการเพิ่มตรงไปยังการหมุนเฉพาะจุดที่เกิดขึ้นที่นี่ และคุณสามารถกำจัดสิ่งนี้ได้จากการหมุนเวียนปัจจุบัน

44
00:04:27,560 --> 00:04:31,670
‫เพราะเราไม่ต้องการสิ่งนั้นอีกต่อไป

45
00:04:31,850 --> 00:04:35,450
‫ไปที่ตัวแก้ไขแล้วกดปุ่มคอมไพล์

46
00:04:35,450 --> 00:04:37,520
‫และเมื่อเสร็จแล้ว ให้ปิดบันทึก

47
00:04:37,640 --> 00:04:42,530
‫มาเลือกหนึ่งในแพลตฟอร์มในระดับที่พวกเขาจะทำและดูหมวดหมู่กัน

48
00:04:42,530 --> 00:04:46,970
‫เราก็เคลื่อนที่ได้ และก็มีการหมุน และเราได้ความเร็วการหมุนแล้ว

49
00:04:46,970 --> 00:04:54,890
‫ผมอยากหมุนแท่นนี้ไปรอบๆ แกน Z ของมัน ประมาณ 90 องศาต่อวินาที

50
00:04:54,890 --> 00:04:57,920
‫ดังนั้นจะใช้เวลา 4 วินาทีในการหมุนเต็มที่

51
00:04:57,950 --> 00:04:59,990
‫ไปกดเล่นกันได้เลย

52
00:04:59,990 --> 00:05:00,620
‫และที่นั่นคุณไป

53
00:05:00,620 --> 00:05:03,590
‫เรามีแท่นหมุนและเคลื่อนที่

54
00:05:03,590 --> 00:05:13,040
‫จึงไม่เหมือนกับกลไกของแท่นเคลื่อนที่ เราไม่ต้องกังวลว่าแท่นหมุนของเราจะถอยหลังหรือไปข้างหน้าจริงๆ

55
00:05:13,040 --> 00:05:16,310
‫หากคุณต้องการให้มันเป็นเช่นนั้น นั่นเป็นส่วนขยายที่เป็นไปได้ที่คุณคิดออก

56
00:05:16,310 --> 00:05:23,420
‫แต่สำหรับฉันนั่นก็เพียงพอแล้วเพราะเราแค่ต้องการให้สิ่งเหล่านี้หมุนไปในทิศทางเดียวกัน

57
00:05:23,630 --> 00:05:30,200
‫ให้ฉันไปลบการหมุนเวียนออกจากแพลตฟอร์มนี้เพราะเราไม่ต้องการให้แพลตฟอร์มนี้หมุนเวียน

58
00:05:30,200 --> 00:05:40,220
‫ดังนั้นฉันจึงขอท้าให้คุณส่งเสียงบี๊บหมุน ซึ่งเป็นอีกรูปแบบหนึ่งให้เราใช้และค้นหาตาข่ายที่เหมาะสม

59
00:05:40,220 --> 00:05:54,380
‫ฉันจะไปกับสิ่งที่เป็นวงกลมคลุมเครือเพื่อให้มันสมเหตุสมผลในฐานะแพลตฟอร์มหมุนและให้ความเร็วในการหมุนเริ่มต้นและวางไว้ในระดับเพื่อสร้างปริศนาแพลตฟอร์มที่หมุนได้เล็กน้อยเพื่อให้คุณข้ามผ่าน

60
00:05:54,380 --> 00:05:56,300
‫หยุดวิดีโอชั่วคราวและไปกันเลย

61
00:05:59,400 --> 00:05:59,700
‫ตกลง.

62
00:05:59,700 --> 00:06:00,660
‫ยินดีต้อนรับกลับ.

63
00:06:00,690 --> 00:06:14,270
‫ดังนั้นเราจะไปที่ลิ้นชักเนื้อหาของเราและค้นหาคลาส C++, Obstacle Assault และคลิกขวาที่แพลตฟอร์มที่กำลังเคลื่อนที่เพื่อสร้างอุปกรณ์คลาสพิมพ์เขียวที่ได้มาจากสิ่งนี้

64
00:06:14,280 --> 00:06:21,060
‫เราจะเรียกมันว่า BP ขีดเส้นใต้แพลตฟอร์มหมุนเวียน และเราจะใส่มันในเส้นทางของเนื้อหา

65
00:06:21,060 --> 00:06:23,430
‫และสร้างคลาสพิมพ์เขียว

66
00:06:23,430 --> 00:06:27,180
‫เมื่อตัวแก้ไขปรากฏขึ้นมา ให้เทียบชิดขอบหน้าต่างหลักของเรา

67
00:06:27,180 --> 00:06:39,390
‫ฉันจะปิดเบราว์เซอร์เนื้อหาที่ดูเหมือนว่าจะต้องการปรากฏขึ้นทุกครั้ง และฉันจะไปที่ระดับหลักของเราและไปที่เกาะพร้อมกับเนื้อหาทดสอบทั้งหมดของเราเมื่อคลิกขวา

68
00:06:40,260 --> 00:06:44,490
‫ไปที่นี่และมาดูกันว่ามีอะไรที่ดูดีหรือไม่

69
00:06:44,490 --> 00:06:48,600
‫ฉันชอบรูปลักษณ์ของแพลตฟอร์มเหล่านี้ที่นี่

70
00:06:48,600 --> 00:06:55,710
‫ถ้าฉันคลิกขวาที่มันหรือเพียงแค่คลิกที่มัน แสดงว่าเมชที่ใช้ที่นี่ในสแตติกเมชคือแพลตฟอร์ม

71
00:06:55,740 --> 00:06:59,760
‫SM A ลองมองหาอันนั้นกัน

72
00:06:59,760 --> 00:07:07,620
‫ไปที่พิมพ์เขียวของเรา เปิดเนื้อหา วาด ไปที่ทั้งหมด แล้วค้นหาแพลตฟอร์มขีดล่าง

73
00:07:07,620 --> 00:07:14,710
‫M ขีดล่าง A แล้วเราได้ตาข่าย ซึ่งก็คืออันนี้ที่นี่

74
00:07:15,270 --> 00:07:16,890
‫ที่สองพร้อมสำหรับฉัน

75
00:07:16,980 --> 00:07:21,480
‫ฉันจะลากมันไปที่วิวพอร์ตเพื่อให้มีแพลตฟอร์มของเรา

76
00:07:21,480 --> 00:07:24,090
‫ทีนี้มาดูกันว่าจุดศูนย์กลางอยู่ที่ใด

77
00:07:24,090 --> 00:07:25,860
‫มันอยู่ตรงกลางหรือเปล่า?

78
00:07:25,860 --> 00:07:30,840
‫ใช่แล้ว ซึ่งเป็นสิ่งที่ดีและสำคัญเพราะเราต้องการให้มันหมุนตรงกลาง

79
00:07:30,840 --> 00:07:34,560
‫มิฉะนั้น แพลตฟอร์มทรงกลมนี้จะดูแปลกไปเล็กน้อย

80
00:07:34,770 --> 00:07:43,680
‫นอกจากนี้เรายังสามารถขยายขนาดขึ้นเล็กน้อยในมิติ x และ Y เพื่อทำให้แพลตฟอร์มนี้ใหญ่ขึ้นเล็กน้อย และเราสามารถไปที่ค่าดีฟอลต์ของคลาสเพื่อลบความเร็วของแพลตฟอร์มใดๆ

81
00:07:43,680 --> 00:07:51,180
‫เนื่องจากเราไม่ต้องการให้มันเคลื่อนที่และกำหนดระยะการเคลื่อนที่ลง ให้เหลือศูนย์แล้วดูที่ส่วนการหมุนและตั้งค่าให้พอเหมาะ

82
00:07:51,360 --> 00:08:01,440
‫เราลอง 90 องศาต่อวินาทีและนั่นก็ดูสมเหตุสมผลพอสมควร

83
00:08:01,440 --> 00:08:04,050
‫ไปต่อและบันทึกแพลตฟอร์มที่หมุนได้นี้

84
00:08:04,170 --> 00:08:12,270
‫เราจะไปที่ระดับหลักของเราแล้วคลิกขวาบนเกาะลอยน้ำเล็กๆ ที่เราตั้งด่านปริศนาของเราแล้ว

85
00:08:12,270 --> 00:08:14,360
‫คลิก ไปที่นี่

86
00:08:14,880 --> 00:08:21,930
‫ที่ด้านบนของเกาะนี้ ฉันต้องการวางพิมพ์เขียวใหม่ของเรา

87
00:08:21,930 --> 00:08:28,410
‫ให้ยกเลิกการค้นหา ไปที่รูทของเนื้อหา และค้นหาแพลตฟอร์มที่หมุนได้ของเราและวางไว้ในระดับ

88
00:08:28,410 --> 00:08:31,050
‫และทันทีที่ฉันเห็นฉันต้องการให้มันใหญ่ขึ้นอีกนิด

89
00:08:31,200 --> 00:08:33,630
‫ดังนั้นไปข้างหน้าและขยายขนาดขึ้น

90
00:08:33,630 --> 00:08:37,500
‫อีกสองสามหน่วยอาจจะสามครั้งน่าจะดี

91
00:08:37,500 --> 00:08:38,850
‫ไปดูกันเลย

92
00:08:38,850 --> 00:08:44,940
‫ตอนนี้ ฉันคิดว่ามันอาจจะยังใหญ่กว่านี้อีก ดังนั้นฉันจะขยายให้ใหญ่ขึ้นเล็กน้อย

93
00:08:44,940 --> 00:08:48,630
‫เพื่อให้ใน X และ Y มีขนาดใหญ่กว่าเดิมห้าเท่า

94
00:08:48,660 --> 00:08:54,330
‫โอเค นั่นเป็นจานหมุนที่กว้างดี และอาจเป็นเรื่องยากสำหรับเราที่จะข้ามผ่าน

95
00:08:54,330 --> 00:09:02,190
‫ดังนั้นฉันจะทำซ้ำสิ่งเหล่านี้โดยใช้ alt และลากเพื่อสร้างบางส่วนข้ามแพลตฟอร์มและลองวางอย่างเหมาะสมแล้ว

96
00:09:02,190 --> 00:09:07,860
‫alt ลากอีกสองสามรายการ

97
00:09:08,550 --> 00:09:14,320
‫เพื่อที่เราจะได้มีชุดปริศนาเล็ก ๆ น้อย ๆ ไว้ให้เราลองและข้ามผ่าน

98
00:09:14,340 --> 00:09:18,570
‫ดังนั้นเพียงแค่กระดิกพวกมันไปรอบ ๆ เล็กน้อยจนกว่าฉันจะได้พวกมันค่อนข้างมาก

99
00:09:18,570 --> 00:09:24,540
‫และนี่คือจุดที่สามารถมีโหมดเกมได้เพราะเราสามารถคลิกขวาใกล้กับแพลตฟอร์มและคลิกเล่นจากที่นี่

100
00:09:24,540 --> 00:09:30,450
‫และนี่คือแพลตฟอร์มที่หมุนเวียนทั้งหมดเพื่อให้เราก้าวต่อไป

101
00:09:30,450 --> 00:09:37,620
‫และตอนนี้ก็ค่อนข้างท้าทายสำหรับเราที่จะหาทางข้ามแพลตฟอร์มที่เคลื่อนไหวได้ดีและง่ายดาย

102
00:09:37,620 --> 00:09:41,370
‫ตอนนี้มีเดดโซนอยู่ตรงกลางซึ่งเราสามารถลองและว่างเปล่าได้ แต่จริงๆ

103
00:09:41,370 --> 00:09:48,930
‫แล้วมันค่อนข้างยากที่จะเข้าไปอยู่ในโซนเดดโซน ดังนั้นฉันจะไม่พยายามใส่อะไรเข้าไปโดยเฉพาะเพื่อพยายามหยุดสิ่งนั้น

104
00:09:49,350 --> 00:09:50,280
‫แต่คุณสามารถเห็นคุณไปที่นั่น

105
00:09:50,280 --> 00:09:55,080
‫เป็นความท้าทายที่เราทำได้ แต่ค่อนข้างยุ่งยากและสนุก

106
00:09:55,080 --> 00:09:55,590
‫สิ่งที่ดี

107
00:09:55,590 --> 00:10:01,270
‫ดังนั้นในการบรรยายนี้ เราได้เห็นวิธีการสร้างแท่นหมุนโดยการเรียนรู้เกี่ยวกับชนิดใหม่

108
00:10:01,290 --> 00:10:05,940
‫ตัวหมุน F และวิธีที่เราสามารถใช้มันเพื่อกำหนดการหมุนของนักแสดงของเรา

109
00:10:05,940 --> 00:10:07,530
‫เจอกันใหม่ตอนหน้าค่ะ

