﻿1
00:00:04,710 --> 00:00:06,600
‫สวัสดีและยินดีต้อนรับกลับ

2
00:00:06,630 --> 00:00:09,660
‫ตอนนี้เราพร้อมที่จะเริ่มจัดการข้อมูลของผู้ใช้แล้ว

3
00:00:09,780 --> 00:00:16,650
‫นั่นหมายความว่าเราต้องการกดแป้นคีย์บอร์ดและเลื่อนเมาส์และคลิกเมาส์และเห็นว่ารถถังของเราตอบสนองต่ออินพุตนั้น

4
00:00:16,770 --> 00:00:24,450
‫ในการที่จะทำอย่างนั้นได้ ก่อนอื่นเราต้องรับอินพุตนั้นก่อน และเราจะเริ่มทำนั้นโดยใช้การแมปแกนก่อน

5
00:00:24,450 --> 00:00:25,980
‫เรามาพูดถึงเรื่องนี้กัน

6
00:00:26,100 --> 00:00:30,600
‫ตอนนี้ในโปรเจ็กต์ ไปแก้ไขและตั้งค่าโปรเจ็กต์กัน

7
00:00:30,780 --> 00:00:35,340
‫และถ้าเราเลื่อนลงและเลือกอินพุต จะเห็นการผูกของเราที่นี่

8
00:00:35,340 --> 00:00:39,600
‫และภายใต้การเชื่อมโยงจะมีการแมปการดำเนินการและการแมปแกน

9
00:00:39,630 --> 00:00:42,300
‫อันดับแรก เราจะเข้าสู่การแมปแกน

10
00:00:42,350 --> 00:00:49,700
‫ตอนนี้คุณอาจมีประสบการณ์กับสิ่งเหล่านี้แล้ว แต่เราจะเจาะลึกลงไปอีกเล็กน้อยว่าสิ่งเหล่านี้ทำงานอย่างไรและทำงานอย่างไร

11
00:00:49,710 --> 00:00:51,150
‫ดังนั้นเราจึงมีสามคน

12
00:00:51,240 --> 00:00:58,800
‫และถ้าฉันคลิกที่ลูกศรดรอปดาวน์ ฉันจะเห็นที่นี่ W และ SW และสิ่งเหล่านี้กำลังพูดถึงปุ่ม

13
00:00:58,800 --> 00:01:00,780
‫W และ SW บนแป้นพิมพ์

14
00:01:00,810 --> 00:01:06,960
‫สิ่งเหล่านี้ถูกกำหนดให้กับการแมปแกนเฉพาะนี้ ซึ่งเรียกว่าย้ายไปข้างหน้า

15
00:01:06,960 --> 00:01:09,870
‫เรามาคุยกันว่าการแมปแกนนี้ทำงานอย่างไร

16
00:01:09,870 --> 00:01:17,280
‫ดังนั้นเราจึงเห็นใน Unreal Editor ว่าเรามีการแมปแกนที่เรียกว่า Move Forward และมี

17
00:01:17,280 --> 00:01:20,820
‫W และ SCS ที่กำหนดให้กับการแมปแกนนี้

18
00:01:20,820 --> 00:01:22,950
‫ดังนั้นสิ่งนี้หมายความว่าอย่างไร?

19
00:01:23,730 --> 00:01:27,870
‫ใน Unreal Engine เรามีบางอย่างที่เรียกว่าการแมปแกน

20
00:01:27,870 --> 00:01:32,970
‫และการแมปแกนเป็นสิ่งที่ประมวลผลทุกเฟรมของเกม

21
00:01:33,000 --> 00:01:35,700
‫คุณกำหนดคีย์ให้กับการแมปแกน

22
00:01:35,700 --> 00:01:38,460
‫ในกรณีของเรา เราได้มอบหมายให้ W และ S

23
00:01:38,490 --> 00:01:41,370
‫ตอนนี้ให้ดูถัดจากปุ่ม W ที่นี่

24
00:01:41,370 --> 00:01:45,060
‫ในตัวอย่างภาพหน้าจอเล็ก ๆ ของฉันทางด้านขวา มันบอกว่ามาตราส่วน

25
00:01:45,060 --> 00:01:48,180
‫และถัดจากสเกลมีหมายเลข 1 0.

26
00:01:48,300 --> 00:01:53,160
‫และคุณอาจสังเกตเห็นถัดจาก SQ มาตราส่วนคือ -1 0.

27
00:01:53,160 --> 00:01:58,650
‫ค่าเหล่านี้จึงเป็นค่าที่จะส่งผลต่อข้อมูลที่ป้อนเข้านั้น

28
00:01:58,650 --> 00:02:01,080
‫นี่คือวิธีการทำงานของการแมปแกน

29
00:02:01,320 --> 00:02:08,580
‫การทำแผนที่แกนของเราไปข้างหน้ามีความสามารถในการเชื่อมโยงกับฟังก์ชันใน C ++

30
00:02:08,700 --> 00:02:15,060
‫เมื่อพูดถึงการแมป Axis หากเราเชื่อมโยงฟังก์ชันกับการแมป Axis จำเป็นต้องใช้พารามิเตอร์อินพุตของประเภท

31
00:02:15,060 --> 00:02:22,410
‫float เพื่อให้เราสามารถสร้างฟังก์ชันในบ่อของเราที่เรียกว่า MOVE ที่ลอยได้

32
00:02:22,410 --> 00:02:24,870
‫เราจะเรียกค่าพารามิเตอร์อินพุตนี้

33
00:02:24,930 --> 00:02:30,570
‫ตอนนี้มีวิธีใช้ฟังก์ชันนี้และเชื่อมโยงกับการแมปแกนเดินหน้าของเรา

34
00:02:30,570 --> 00:02:34,980
‫มันบอกว่าเราผูกฟังก์ชันการย้ายเข้ากับการแมปแกน

35
00:02:34,980 --> 00:02:41,430
‫ดังนั้นทุกเฟรมของเกม ระบบอินพุตของ Unreal Engine จะตรวจสอบเพื่อดูว่าเรากำลังกดปุ่ม

36
00:02:41,430 --> 00:02:43,680
‫W หรือคีย์

37
00:02:43,680 --> 00:02:51,600
‫และมันจะคำนวณค่าแกนขึ้นอยู่กับว่าเรากำลังกดปุ่มเหล่านั้นและทุกเฟรมเดียวหรือไม่

38
00:02:51,600 --> 00:02:58,080
‫มันจะเรียกฟังก์ชันนี้ว่าเราต้องก้าวไปข้างหน้าและส่งค่าแกนนั้นเข้าไป

39
00:02:58,080 --> 00:03:03,810
‫สิ่งที่เกิดขึ้นภายในฟังก์ชันนั้นขึ้นอยู่กับเราในฐานะนักพัฒนา C++

40
00:03:03,840 --> 00:03:05,310
‫นี่คือวิธีการทำงาน

41
00:03:05,310 --> 00:03:10,860
‫หากเราไม่กดปุ่ม W หรือคีย์ ค่าแกนนี้จะมีค่าเป็นศูนย์

42
00:03:10,860 --> 00:03:19,620
‫ดังนั้นฟังก์ชันการย้ายที่ผูกไว้กับการแมปแกนเลื่อนไปข้างหน้าจึงเรียกว่าทุกเฟรมเดียวและค่าทศนิยมที่ส่งผ่านเป็นศูนย์

43
00:03:19,620 --> 00:03:22,380
‫สมมติว่าเรากำลังกดปุ่ม W

44
00:03:22,620 --> 00:03:26,820
‫ปุ่ม W มีมาตราส่วนตั้งไว้ที่ 1 0.

45
00:03:26,850 --> 00:03:33,870
‫ซึ่งหมายความว่าค่าแกนของเราจะเท่ากับ 1 0 และนั่นคือสิ่งที่ส่งผ่านไปยังฟังก์ชัน MOV

46
00:03:33,870 --> 00:03:39,090
‫ดังนั้นทุกเฟรมเดียว ฟังก์ชันการย้ายจึงถูกเรียกด้วยค่า 1 0 ผ่านไป

47
00:03:39,120 --> 00:03:44,910
‫สมมติว่าเรากำลังกด SRC ซึ่งมีค่ามาตราส่วนเป็น -1 0.

48
00:03:44,940 --> 00:03:51,720
‫ซึ่งหมายความว่าทุกเฟรมเดียวที่ฟังก์ชันการย้ายจะถูกเรียกและ -1 0 จะถูกส่งผ่าน

49
00:03:51,720 --> 00:03:58,260
‫ในกรณีที่เรากดทั้ง W และ S ค่าทั้งสองนี้จะถูกรวมเข้าด้วยกัน

50
00:03:58,260 --> 00:04:05,040
‫ดังนั้นเราจึงได้ 1 0 จากการกดปุ่ม W และเราได้ -1 0 จากการกด SRC

51
00:04:05,070 --> 00:04:07,200
‫ตอนนี้ทั้งสองหักล้างกัน

52
00:04:07,320 --> 00:04:13,350
‫ดังนั้น หากเรากดทั้งสองอย่างพร้อมกัน ฟังก์ชันการย้ายจะถูกเรียกโดยมีค่าศูนย์ส่งผ่านเข้ามา

53
00:04:13,710 --> 00:04:19,020
‫ดังนั้นขึ้นอยู่กับว่าเรากำลังกดแป้นใด ค่าที่ต่างกันจะส่งผ่านไปยังฟังก์ชัน

54
00:04:19,020 --> 00:04:25,230
‫MOVE ของเรา และเราจะทำอะไรก็ได้ที่เราชอบด้วยค่านั้น เช่น ใช้เพื่อย้ายสัญลักษณ์แทนตัว

55
00:04:25,230 --> 00:04:28,500
‫เราจะพูดถึงการย้ายโรงรับจำนำในไม่ช้านี้

56
00:04:28,500 --> 00:04:36,390
‫สำหรับตอนนี้ เรามาลองตั้งค่าตัวเองกันก่อน เพื่อที่เราจะสามารถจัดการข้อมูลนี้จากระบบการแมปของแกนได้

57
00:04:36,930 --> 00:04:46,620
‫เอาล่ะ ตอนนี้เรารู้แล้วว่าการแมปแกนทำงานอย่างไร ก็ถึงเวลาสร้างฟังก์ชันเรียกกลับที่เราสามารถผูกกับการแมปแกนเดินหน้า

58
00:04:46,620 --> 00:04:50,370
‫ดังนั้นฉันจะปิดการตั้งค่าโปรเจ็กต์และกลับเข้าสู่โค้ด VS

59
00:04:50,370 --> 00:04:58,470
‫ดังนั้นในโค้ด VS เราต้องการสร้างฟังก์ชันที่เราสามารถผูกกับการแมปแกนเลื่อนไปข้างหน้าได้

60
00:04:58,470 --> 00:05:02,640
‫ดังนั้นในถัง H เราสามารถสร้างฟังก์ชันส่วนตัวได้

61
00:05:02,640 --> 00:05:03,810
‫ตอนนี้ก็จะมี

62
00:05:03,880 --> 00:05:07,180
‫ประเภทกลับเป็นโมฆะและฉันต้องการเรียกการย้ายนี้

63
00:05:07,210 --> 00:05:11,950
‫ตอนนี้จำเป็นต้องมีพารามิเตอร์อินพุตแบบลอยตัว และเราจะเรียกค่านี้

64
00:05:12,010 --> 00:05:16,750
‫ลองใช้ฟังก์ชันการย้ายของเราและกำหนดไว้ที่นี่ใน Tank

65
00:05:16,970 --> 00:05:27,310
‫CP ฉันจะติดมันไว้ใต้คอนสตรัคเตอร์และเราจำเป็นต้องมีรถถังที่มีตัวดำเนินการความละเอียดขอบเขตก่อนชื่อฟังก์ชัน

66
00:05:27,460 --> 00:05:33,550
‫ดังนั้นเราจึงมีฟังก์ชันการย้ายและเราพร้อมที่จะผูกมันกับการทำแผนที่แกนเคลื่อนที่ไปข้างหน้า

67
00:05:33,670 --> 00:05:39,340
‫และนั่นจะทำภายในฟังก์ชันที่เรียกว่า setup player input component

68
00:05:39,370 --> 00:05:40,630
‫นั่นน่าจะฟังดูคุ้นเคย

69
00:05:40,630 --> 00:05:51,910
‫ที่จริงแล้ว หากเราเปิด explorer ของเราและกลับไปที่ Base Pont H เราสามารถเลื่อนลงและดูในส่วนสาธารณะของการตั้งค่าฟังก์ชั่นองค์ประกอบอินพุตของผู้เล่น

70
00:05:51,910 --> 00:05:56,380
‫เราจะเห็นว่านี่เป็นการแทนที่ของฟังก์ชันเสมือนที่สืบทอดมา

71
00:05:56,950 --> 00:06:06,010
‫ตอนนี้คลาส spawn พื้นฐานไม่จำเป็นต้องตั้งค่าอินพุตใด ๆ และนั่นคือสิ่งที่ฟังก์ชันนี้ใช้สำหรับจัดการอินพุตจากผู้เล่น

72
00:06:06,040 --> 00:06:10,810
‫ตอนนี้คลาสพันธะฐานของเราไม่จำเป็นต้องจัดการกับอินพุต แต่คลาสรถถังของเรารองรับ

73
00:06:10,810 --> 00:06:19,240
‫สิ่งที่เราทำได้คือนำฟังก์ชันนี้ออกจากบ่อฐาน h แต่ผมจะคัดลอกมันเพราะเราต้องการมันในถัง

74
00:06:19,930 --> 00:06:27,190
‫ในการคัดลอกฟังก์ชันนี้ ฉันจะไปที่ Tank H และในส่วนสาธารณะ ฉันจะวางฟังก์ชันนี้

75
00:06:27,190 --> 00:06:32,800
‫และเนื่องจากเราไม่ต้องการมันในบ่อฐาน ผมจะลบมันออกจากคลาสบ่อฐาน

76
00:06:32,800 --> 00:06:38,090
‫และอันที่จริงฉันกำลังจะไปที่บ่อฐาน CP และลบมันออกจากที่นี่ด้วย

77
00:06:38,110 --> 00:06:42,250
‫ดังนั้น ไปต่อและลบการติดตั้งส่วนประกอบอินพุตของผู้เล่นจาก Base Pond

78
00:06:42,460 --> 00:06:46,540
‫CP และตอนนี้มันไม่ได้อยู่ในคลาสบ่อฐานอีกต่อไป

79
00:06:46,540 --> 00:06:52,120
‫ดังนั้น ไปต่อและบันทึกการเปลี่ยนแปลงของเราและปิดฐาน Pond H และ CP

80
00:06:52,150 --> 00:06:59,410
‫และตอนนี้เรามีการตั้งค่าส่วนประกอบอินพุตของผู้เล่นที่ประกาศใน Tank H แต่เราต้องการกำหนดและรถถังด้วย

81
00:06:59,620 --> 00:07:01,540
‫CP ดังนั้นที่นี่ในถัง

82
00:07:01,720 --> 00:07:06,340
‫CP ฉันจะเพิ่มคำจำกัดความเหนือฟังก์ชันการย้าย

83
00:07:06,430 --> 00:07:12,880
‫ดังนั้นนี่คือโมฆะและเป็นส่วนประกอบในการป้อนข้อมูลของผู้เล่นที่ติดตั้งถัง

84
00:07:13,510 --> 00:07:18,000
‫ตอนนี้กลับไปที่ Tank H และดูว่าพารามิเตอร์อินพุตเป็นอย่างไร

85
00:07:18,010 --> 00:07:21,880
‫คุณจะเห็นว่ามีการประกาศไปข้างหน้าในวงเล็บ

86
00:07:21,880 --> 00:07:27,070
‫นี่คือสิ่งที่คุณสามารถทำได้หากต้องการส่งต่อ ประกาศประเภทคลาสในไฟล์ส่วนหัว

87
00:07:27,070 --> 00:07:34,990
‫ดังนั้นมันจึงมีการประกาศล่วงหน้าที่นี่ และเราต้องการให้คุณป้อนประเภทตัวชี้องค์ประกอบและพารามิเตอร์เรียกว่าส่วนประกอบอินพุตของผู้เล่น

88
00:07:34,990 --> 00:07:37,450
‫ดังนั้นเราจึงต้องการพารามิเตอร์อินพุตนี้ในถัง

89
00:07:37,600 --> 00:07:44,980
‫CP ดังนั้นในวงเล็บสำหรับการตั้งค่าส่วนประกอบอินพุตของผู้เล่น เราจะมีส่วนประกอบอินพุต

90
00:07:45,040 --> 00:07:50,080
‫U ที่เป็นพอยน์เตอร์ และเรียกว่าส่วนประกอบอินพุตของผู้เล่น

91
00:07:50,320 --> 00:07:55,300
‫ดังนั้นตอนนี้ฟังก์ชันลายเซ็นตรงกับการประกาศฟังก์ชัน

92
00:07:55,450 --> 00:08:02,050
‫กลับไปที่ไฟล์ CP ให้ฟังก์ชันนี้เป็นเนื้อหาฟังก์ชัน และเรากำลังเขียนทับฟังก์ชันนี้ และเป็นความคิดที่ดีที่จะเรียก

93
00:08:02,050 --> 00:08:07,450
‫super set up ส่วนประกอบอินพุตของผู้เล่น

94
00:08:07,480 --> 00:08:15,460
‫ตอนนี้ เนื่องจากเรากำลังเรียกใช้ส่วนประกอบอินพุตของเครื่องเล่นเซ็ตอัพเวอร์ชันหลัก เราจึงต้องส่งอินพุตของคอมโพเนนต์อินพุตประเภทที่คุณป้อนเข้าไป

95
00:08:15,460 --> 00:08:19,900
‫เราจะส่งต่อพารามิเตอร์อินพุตไปยังฟังก์ชันนี้ที่นี่

96
00:08:19,900 --> 00:08:23,430
‫ดังนั้นวิธีนี้คลาสพาเรนต์จะเรียกเวอร์ชันของมัน

97
00:08:23,440 --> 00:08:26,620
‫ตอนนี้ถังบ่อฐานไม่ได้ใช้งานฟังก์ชันนี้

98
00:08:26,620 --> 00:08:27,700
‫เราเพิ่งถอดออก

99
00:08:27,700 --> 00:08:31,930
‫แต่คลาสพาเรนต์ถึงเบส -- จะเรียกเวอร์ชันของมัน

100
00:08:31,930 --> 00:08:38,410
‫และเมื่อใดก็ตามที่คุณลบล้างฟังก์ชันเสมือนเช่นนี้ การเรียกใช้เวอร์ชัน super ก็เป็นความคิดที่ดี

101
00:08:38,410 --> 00:08:43,090
‫ดังนั้นเราจึงไม่พลาดทุกฟังก์ชันการใช้งานในเวอร์ชันหลัก

102
00:08:43,090 --> 00:08:44,440
‫ดังนั้นเราจะทำเช่นนี้ทำไม?

103
00:08:44,470 --> 00:08:47,150
‫องค์ประกอบอินพุตของผู้เล่นการตั้งค่าดีสำหรับอะไร?

104
00:08:47,170 --> 00:08:51,730
‫สิ่งหนึ่งที่ดีสำหรับคือการผูกฟังก์ชันเพื่อเข้าถึงการแมป

105
00:08:51,730 --> 00:08:56,140
‫เราต้องการผูกฟังก์ชันการย้ายของเรากับการทำแผนที่แกนเลื่อนไปข้างหน้า

106
00:08:56,140 --> 00:08:57,250
‫และเราทำที่นี่

107
00:08:57,250 --> 00:09:01,180
‫เราทำเช่นนั้นโดยใช้องค์ประกอบอินพุตของผู้เล่นพารามิเตอร์อินพุตนี้

108
00:09:01,180 --> 00:09:04,360
‫นั่นคือสิ่งที่วัตถุนี้ถูกออกแบบมาสำหรับ

109
00:09:04,390 --> 00:09:14,110
‫เราใช้องค์ประกอบอินพุตของผู้เล่น และบนตัวชี้นี้ เราใช้ตัวดำเนินการลูกศรเพื่อเข้าถึงฟังก์ชันที่เรียกว่าแกนผูก

110
00:09:14,590 --> 00:09:17,890
‫ตอนนี้ Bind Axis รับพารามิเตอร์อินพุตสองสามตัว

111
00:09:17,890 --> 00:09:22,450
‫อย่างแรกคือตัวอักษรสตริง ซึ่งหมายความว่าเราจะใช้มาโครข้อความ

112
00:09:22,600 --> 00:09:24,430
‫ตอนนี้เราใส่อะไรในเครื่องหมายคำพูด?

113
00:09:24,520 --> 00:09:27,160
‫เราใส่ชื่อการแมปแกน

114
00:09:27,160 --> 00:09:31,690
‫เราเห็นในตัวแก้ไขว่าการแมปแกนนี้เรียกว่าก้าวไปข้างหน้า

115
00:09:32,020 --> 00:09:36,970
‫ดังนั้นเราจึงเลือกการแมปแกนนั้นเพื่อผูกกับพารามิเตอร์อินพุตที่สอง

116
00:09:36,970 --> 00:09:43,690
‫นี่จะเป็นตัวชี้ไปยังวัตถุที่ผูกฟังก์ชันสำหรับสิ่งนี้ เป็นตัวชี้ไปยังอินสแตนซ์ของคลาสเฉพาะที่

117
00:09:43,690 --> 00:09:50,590
‫n และเนื่องจากเราอยู่ในคลาสรถถัง สิ่งนี้จะชี้ไปที่ตัวอย่างของการจำนำรถถังใน

118
00:09:50,590 --> 00:09:53,280
‫เกม.

119
00:09:53,290 --> 00:09:58,120
‫ตอนนี้พารามิเตอร์ที่สามคือที่อยู่ของฟังก์ชันที่เราผูกไว้

120
00:09:58,120 --> 00:10:01,720
‫ดังนั้นเราจึงมีการย้ายรถถัง

121
00:10:01,750 --> 00:10:03,550
‫สำคัญมากที่เราต้องเต็มที่

122
00:10:03,660 --> 00:10:06,900
‫รับรองชื่อฟังก์ชันด้วยชื่อของคลาส

123
00:10:06,900 --> 00:10:13,200
‫และตรงนี้ข้างหน้าชื่อฟังก์ชัน เราต้องการที่อยู่ของโอเปอเรเตอร์

124
00:10:13,230 --> 00:10:19,220
‫ถ้าคุณไม่คุ้นเคยกับการทำสิ่งนี้ นี่เป็นเพียงการระบุที่อยู่ของฟังก์ชัน

125
00:10:19,230 --> 00:10:23,040
‫ฟังก์ชั่นสามารถมีที่อยู่ได้เช่นเดียวกับตัวแปร

126
00:10:23,040 --> 00:10:28,320
‫ดังนั้นการใช้ที่อยู่ของโอเปอเรเตอร์จึงเป็นวิธีการส่งฟังก์ชันไปยังฟังก์ชันอื่นๆ

127
00:10:28,320 --> 00:10:31,380
‫นั่นเป็นเหตุผลที่เราต้องการที่อยู่ของโอเปอเรเตอร์นั้น

128
00:10:31,380 --> 00:10:34,050
‫ดังนั้นเราจึงมีการเรียกใช้ฟังก์ชันเพื่อผูกการเข้าถึง

129
00:10:34,200 --> 00:10:41,700
‫ตอนนี้คุณอาจสังเกตเห็นว่าตัวชี้ข้อผิดพลาด IntelliSense เป็นประเภทคลาสที่ไม่สมบูรณ์ที่คุณป้อนส่วนประกอบไม่ได้รับอนุญาต

130
00:10:41,850 --> 00:10:43,710
‫ตอนนี้เรารู้แล้วว่าอะไรทำให้เกิดสิ่งนี้

131
00:10:43,710 --> 00:10:46,950
‫ประการหนึ่ง อาจหมายความว่าเราต้องรวมไฟล์ส่วนหัว

132
00:10:47,220 --> 00:10:50,430
‫ความเป็นไปได้อีกอย่างหนึ่งคือมันเป็นข้อผิดพลาดที่ผิดพลาด

133
00:10:50,430 --> 00:10:55,110
‫คุณสามารถหาข้อมูลได้ง่ายโดยการคอมไพล์ ดังนั้นเรามาลองคอมไพล์กัน

134
00:10:55,440 --> 00:10:57,600
‫เราจะเห็นว่าเราคอมไพล์สำเร็จแล้ว

135
00:10:57,600 --> 00:10:59,640
‫เราจึงรู้ว่านี่เป็นข้อผิดพลาดที่ผิดพลาด

136
00:10:59,640 --> 00:11:04,290
‫แต่หากต้องการ คุณสามารถเพิ่มการรวมเพื่อลบออกได้

137
00:11:04,290 --> 00:11:05,790
‫จึงไม่รบกวนคุณ

138
00:11:05,820 --> 00:11:10,890
‫ตอนนี้เรารู้แล้วว่าประเภทคลาสที่มันบ่นคือองค์ประกอบอินพุตของคุณ

139
00:11:11,280 --> 00:11:16,290
‫นี่คือส่วนประกอบที่คุณป้อนในเอกสารประกอบ และนี่คือส่วนรวม

140
00:11:16,290 --> 00:11:23,100
‫และถ้าเรารวมสิ่งนี้ไว้ที่ด้านบนสุดของไฟล์ CP ของรถถัง เราจะกำจัดข้อผิดพลาดที่น่ารำคาญนั้นออกไป

141
00:11:23,100 --> 00:11:29,280
‫และอีกครั้ง เนื่องจากสิ่งเหล่านี้มี Pragya ต้องการรวมถึงยาม เรารู้ว่าส่วนประกอบอินพุตจะไม่ถูกรวมมากกว่าหนึ่งครั้งและจะมี

142
00:11:29,280 --> 00:11:34,080
‫squiggles ที่พวกมันหายไป

143
00:11:34,350 --> 00:11:39,900
‫ตอนนี้เรารู้แล้วว่าฟังก์ชันการย้ายนี้จะถูกเรียกทุกเฟรมและค่าจะมีค่าโฟลตเฉพาะขึ้นอยู่กับว่าเรากำลังกด

144
00:11:39,900 --> 00:11:44,280
‫W หรือถาม

145
00:11:44,670 --> 00:11:50,490
‫ตอนนี้ แค่รู้ว่าฟังก์ชั่นการย้ายถูกผูกไว้เพื่อก้าวไปข้างหน้าไม่เพียงพอ

146
00:11:50,490 --> 00:11:54,750
‫ในฐานะนักพัฒนา เป็นการดีที่จะมีการยืนยันว่าสิ่งต่างๆ กำลังทำงานอยู่

147
00:11:54,750 --> 00:12:04,950
‫ดังนั้นสิ่งที่ฉันอยากให้คุณทำตามความท้าทายของคุณคือการใช้บันทึก YUI ในฟังก์ชัน MOV เพื่อพิมพ์ค่าที่ส่งผ่านไปยังการเคลื่อนไหวที่เรียกว่าค่าลอย

148
00:12:04,980 --> 00:12:17,020
‫ดังนั้นใช้เปอร์เซ็นต์ f ในบันทึก uiy เพื่อบันทึกค่าของค่า float ลงในบันทึกผลลัพธ์ จากนั้นเล่นเกมทดสอบและกดปุ่มเหล่านั้นและดูว่าคุณได้รับการพิมพ์อะไรลงในบันทึก

149
00:12:17,040 --> 00:12:20,370
‫หยุดวิดีโอชั่วคราวและเพิ่มลงในฟังก์ชันการย้ายทันที

150
00:12:23,280 --> 00:12:23,590
‫ตกลง.

151
00:12:23,610 --> 00:12:27,960
‫ในฟังก์ชัน mov ฉันจะเพิ่มบันทึก uii

152
00:12:30,200 --> 00:12:33,680
‫และนี่อาจเป็นคำเตือนบันทึกอุณหภูมิ

153
00:12:33,770 --> 00:12:35,960
‫และสำหรับข้อความมาโคร

154
00:12:36,230 --> 00:12:42,440
‫ผมจะใส่ค่า เปอร์เซ็นต์ F และค่า

155
00:12:42,710 --> 00:12:43,520
‫ตอนนี้ไม่เป็นไร

156
00:12:43,520 --> 00:12:48,500
‫หากคุณใช้คำฟุ่มเฟือยหรือคำเตือนประเภทอื่น หากคุณรู้วิธีทำสิ่งเหล่านั้น

157
00:12:48,950 --> 00:12:49,960
‫ไม่เป็นไร

158
00:12:49,970 --> 00:12:58,100
‫ฉันแค่จะใช้คำเตือนที่นี่ และฉันรู้ว่าคุณใช้สิ่งต่างๆ เช่น เปอร์เซ็นต์ se และจัดรูปแบบบันทึกของคุณด้วยค่าสตริง

159
00:12:58,130 --> 00:13:04,300
‫เปอร์เซ็นต์ F หากคุณไม่ทราบคือวิธีที่คุณสามารถจัดรูปแบบบันทึก UI ของคุณด้วยค่าทศนิยม

160
00:13:04,310 --> 00:13:16,190
‫มารวบรวมสิ่งนี้และกลับมาในเครื่องมือแก้ไข ฉันจะเปิดบันทึกผลลัพธ์และกดเล่นและตรวจสอบว่าที่ใดส่งสแปมบันทึกผลลัพธ์ที่มีข้อความนับไม่ถ้วน

161
00:13:16,190 --> 00:13:19,000
‫ตอนนี้ฉันจะคลิกในวิวพอร์ตแล้วกดปุ่ม W

162
00:13:19,010 --> 00:13:22,030
‫มีค่าของฉันหนึ่งฉันจะปล่อย

163
00:13:22,040 --> 00:13:23,180
‫มันกลับเป็นศูนย์

164
00:13:23,210 --> 00:13:26,570
‫ฉันจะกดแป้นและมันเป็นลบหนึ่ง

165
00:13:26,570 --> 00:13:30,500
‫และถ้าเรากดทั้งสองอย่างพร้อมกัน เราจะได้ศูนย์

166
00:13:30,500 --> 00:13:33,620
‫และมันก็เป็นไปตามที่เราคาดไว้

167
00:13:33,800 --> 00:13:34,650
‫สมบูรณ์แบบ.

168
00:13:34,670 --> 00:13:35,390
‫ไม่เป็นไร.

169
00:13:35,390 --> 00:13:39,320
‫ในวิดีโอนี้ เราได้ตั้งค่าบ่อเพื่อจัดการกับข้อมูลบางอย่างของผู้ใช้

170
00:13:39,560 --> 00:13:46,180
‫เราได้พูดคุยเกี่ยวกับการแมปการเข้าถึงและเราผูกฟังก์ชันการย้ายของเราเข้ากับการทำแผนที่การเข้าถึงแบบเลื่อนไปข้างหน้า

171
00:13:46,190 --> 00:13:57,130
‫จากนั้นเราพิมพ์ค่าการเข้าถึงนั้นโดยใช้บันทึก YUI ในฟังก์ชัน MOVE ของเรา แต่จริงๆ แล้วเราต้องการย้ายรถถังของเราแทนที่จะพิมพ์ค่าบางอย่างไปยังบันทึกผลลัพธ์

172
00:13:57,140 --> 00:14:02,720
‫ในการบรรยายที่จะมาถึง เราจะตั้งค่าเพื่อให้เราสามารถเริ่มเคลื่อนย้ายรถถังของเราได้

173
00:14:03,290 --> 00:14:04,310
‫เจอกันเร็วๆนี้ครับ

