﻿1
00:00:04,350 --> 00:00:05,430
‫สวัสดีและยินดีต้อนรับ.

2
00:00:05,430 --> 00:00:10,500
‫ในการบรรยายนี้ เราจะเรียนรู้ว่าคำสั่ง if โดยพื้นฐานแล้ว C++ คือข้อความสั่งสาขา

3
00:00:10,500 --> 00:00:14,580
‫และเราจะใช้มันเพื่อส่งแพลตฟอร์มของเราไปข้างหลังและข้างหน้า

4
00:00:14,580 --> 00:00:15,450
‫มาดำน้ำกันเถอะ

5
00:00:16,240 --> 00:00:23,440
‫จึงมีสถานที่สองสามแห่งในความคิดเห็นในขณะนี้ที่เรากล่าวว่าเราควรทำอะไรบางอย่างหากเราไปไกลเกินไป

6
00:00:23,470 --> 00:00:25,920
‫เราจะทำอย่างไรถ้า

7
00:00:25,930 --> 00:00:31,410
‫ก่อนหน้านี้ใน Blueprint เราทำอย่างนั้นถ้ามีโหนดสาขา

8
00:00:31,420 --> 00:00:36,760
‫ตอนนี้ใน C ++ มีแนวคิดที่คล้ายกันและเรียกว่าคำสั่ง if

9
00:00:36,760 --> 00:00:42,070
‫นี่คือโหนดสาขาที่เรามีเป็นตัวอย่างก่อนหน้านี้ และคุณจะเห็นว่าเรามีตัวแปรนี้

10
00:00:42,070 --> 00:00:47,590
‫มันบอกว่า ฉันหิวแล้ว มันเป็นบูลีน และเราสามารถใส่มันในเงื่อนไข แล้วเราก็ได้ค่าจริง

11
00:00:47,590 --> 00:00:53,370
‫สาขาการดำเนินการหรือสาขาการดำเนินการเท็จและเราสามารถเรียกใช้ฟังก์ชันโค้ดได้

12
00:00:53,380 --> 00:00:58,300
‫สิ่งใดก็ตามใน Blueprint ใน C++ จะคล้ายกันมาก ยกเว้นเป็นข้อความ

13
00:00:58,300 --> 00:01:04,840
‫ดังนั้นเราจึงมีตัวแปรที่เรียกว่า I'm Hungry ซึ่งเป็นบูลีน และเราสามารถบอกได้ว่ามีวงเล็บอยู่รอบ ๆ

14
00:01:04,840 --> 00:01:05,710
‫นั้นหรือไม่

15
00:01:06,190 --> 00:01:14,260
‫จากนั้นเราจะเปิดวงเล็บปีกกาบางส่วนหลังจากคำสั่ง if ของเราบ่อยครั้งในบรรทัดถัดไป จากนั้นภายในวงเล็บปีกกาเหล่านี้

16
00:01:14,260 --> 00:01:19,630
‫เราสามารถดำเนินการสิ่งที่ควรเกิดขึ้นได้หากมันเป็นเรื่องจริง

17
00:01:19,630 --> 00:01:25,300
‫เรากำลังบอกว่าถ้าฉันหิว ให้กินอาหารขยะในขณะที่ภรรยาไม่ได้ดู แล้วเราก็ปิดเหล็กดัดของเราเพื่อบอกว่า

18
00:01:25,300 --> 00:01:30,640
‫โอเค นั่นคือจุดสิ้นสุดของสิ่งที่ควรเกิดขึ้นอย่างมีเงื่อนไข

19
00:01:31,090 --> 00:01:35,590
‫แล้วมีตัวเลือกว่าถ้าเราต้องการใส่สาขาปลอม ถ้าเราต้องการเชื่อมต่อบางอย่างกับเท็จที่นี่

20
00:01:35,590 --> 00:01:42,220
‫เราก็ใส่คีย์เวิร์ด else และเราสามารถเริ่มเครื่องมือจัดฟันชุดที่สองได้

21
00:01:42,220 --> 00:01:46,570
‫และที่นี่เราสามารถเล่นวิดีโอเกมต่อจากนั้นเราก็ปิดเหล็กดัดฟันได้

22
00:01:46,570 --> 00:01:50,260
‫ตอนนี้เราสามารถมีเส้นได้มากเท่าที่เราต้องการระหว่างวงเล็บปีกกาเหล่านี้

23
00:01:50,260 --> 00:01:52,780
‫ไม่จำเป็นว่าจะมีเพียงบรรทัดเดียว

24
00:01:52,780 --> 00:01:57,280
‫ดังนั้นคุณสามารถเพิ่มโค้ดจำนวนมากที่นี่ได้หากต้องการ หรือเพียงแค่บรรทัดเดียวก็ได้

25
00:01:57,280 --> 00:02:01,690
‫และด้วยตัวแปรในนี้ด้วย มันไม่จำเป็นต้องเป็นตัวแปรที่เสียบเข้ากับคำสั่ง if

26
00:02:01,690 --> 00:02:04,990
‫อาจเป็นนิพจน์ใดๆ ที่คืนค่าบูลีน

27
00:02:04,990 --> 00:02:08,710
‫ดังนั้นคุณสามารถเรียกใช้ฟังก์ชันได้เล็กน้อยที่นี่

28
00:02:08,710 --> 00:02:12,520
‫คุณสามารถใช้ตัวดำเนินการเพื่อให้ได้ผลลัพธ์ที่ต่างออกไป

29
00:02:12,520 --> 00:02:15,280
‫เราจึงมีตัวเลือกที่แตกต่างกันเล็กน้อย

30
00:02:15,280 --> 00:02:22,360
‫แต่ก่อนหน้านั้น เราจำเป็นต้องกำหนดค่าว่าแพลตฟอร์มนี้ได้รับอนุญาตให้ไปได้ไกลแค่ไหนก่อนที่มันจะกลับมา

31
00:02:22,360 --> 00:02:24,910
‫และในการทำเช่นนั้น เราต้องการคุณสมบัติ U

32
00:02:24,910 --> 00:02:28,330
‫ขณะนี้เราได้ย้ายระยะทางของเราเป็นที่มองเห็นได้ทุกที่

33
00:02:28,330 --> 00:02:34,480
‫มาสร้างใหม่ด้านบนนี้กันเถอะ ทรัพย์สินของคุณที่ควรแก้ไขได้ทุกที่ เพราะเราต้องการกำหนดค่าในเครื่องมือแก้ไข

34
00:02:34,480 --> 00:02:43,120
‫และฉันจะใช้ประเภทเดียวกันของแพลตฟอร์มการย้ายจากด้านบนและด้านล่าง

35
00:02:43,120 --> 00:02:48,970
‫ตรงนี้จะเป็นประเภท float เพราะมันจะเป็นระยะทาง และผมจะเรียกมันว่าระยะเคลื่อนที่

36
00:02:48,970 --> 00:02:53,410
‫เพื่อให้เราสามารถกำหนดเป็นค่าเริ่มต้นได้

37
00:02:53,410 --> 00:02:57,730
‫ฉันจะให้มัน 100 หน่วยเป็นค่าเริ่มต้น แต่เห็นได้ชัดว่าเราสามารถแทนที่สิ่งนั้น

38
00:02:57,730 --> 00:03:02,380
‫เปลี่ยนแปลงในโปรแกรมแก้ไข และจากนั้นเราสามารถใช้ประโยชน์จากสิ่งนี้ในไฟล์ C++

39
00:03:02,380 --> 00:03:06,490
‫วิธีที่เราจะทำคือ เราได้ย้ายระยะตัวแปรไปแล้ว

40
00:03:06,670 --> 00:03:09,190
‫ที่จริงฉันต้องการที่จะไม่สามารถสังเกตได้อีกต่อไป

41
00:03:09,190 --> 00:03:14,800
‫ดังนั้นฉันจะลบคุณสมบัติที่มองเห็นได้ทุกที่และตัวแปรระยะทางที่ย้ายออกจากไฟล์ส่วนหัว

42
00:03:15,250 --> 00:03:20,230
‫จากนั้นฉันจะกลับไปที่ C ++ และเราจะต้องประกาศเป็นตัวแปรท้องถิ่นแทน

43
00:03:20,230 --> 00:03:26,620
‫วิธีง่ายๆ ในการเปลี่ยนแปลงคือติดทุ่นลอยไว้ข้างหน้าการเคลื่อนที่ระยะไกล โดยพื้นฐานแล้วประกาศว่าเป็นตัวแปรท้องถิ่นตรงนี้ในขีด

44
00:03:26,620 --> 00:03:32,590
‫ซึ่งหมายความว่าเรารู้ว่ามันสดใหม่ทุกครั้งที่เราใช้

45
00:03:32,860 --> 00:03:35,800
‫ตอนนี้เราจำเป็นต้องกลับทิศทางหากเราไปไกลเกินไป

46
00:03:35,800 --> 00:03:46,960
‫วิธีที่เราสามารถทำได้คือ เราสามารถใช้ตัวดำเนินการน้อยกว่าหรือเท่ากับหรือเท่ากับหรือมากกว่าที่เราเคยเห็นในอดีตเป็นโหนดในพิมพ์เขียว

47
00:03:46,960 --> 00:03:51,490
‫แต่ตอนนี้เราสามารถใช้มันเป็นตัวดำเนินการเหมือนที่เราบวกหรือคูณได้

48
00:03:51,790 --> 00:03:56,590
‫และวิธีที่เราทำได้ก็คือ โอเค เราย้ายระยะทางได้แล้ว

49
00:03:56,740 --> 00:04:00,340
‫นี้มากกว่าระยะเคลื่อนที่?

50
00:04:00,340 --> 00:04:04,450
‫เราจึงสามารถใช้สัญลักษณ์มากกว่า ซึ่งก็คือบั้งนี้

51
00:04:04,750 --> 00:04:11,440
‫แล้วเราก็ใส่ระยะเคลื่อนที่ได้ และดูเหมือนผมจะเรียกมันว่าระยะเคลื่อนที่ แต่ผมคิดว่ามันควรเป็นระยะเคลื่อนที่

52
00:04:11,440 --> 00:04:13,510
‫ดังนั้นฉันจึงบังเอิญมี D พิเศษอยู่ในนั้น

53
00:04:13,510 --> 00:04:19,930
‫ลองลบมันออกจากไฟล์ส่วนหัวแล้วคุณจะเห็นนิพจน์นี้ส่งคืนบูลีนเพื่อให้เราสามารถใช้มันในคำสั่ง

54
00:04:19,930 --> 00:04:22,750
‫if ของเราได้

55
00:04:22,750 --> 00:04:33,970
‫สิ่งที่เราทำได้คือเราสามารถพูดได้ว่าถ้าช่องว่างเปิดวงเล็บ แล้วผมจะตัดนิพจน์นี้และวางลงในวงเล็บเหล่านั้น

56
00:04:33,970 --> 00:04:41,830
‫มันบอกว่าถ้าระยะทางที่เคลื่อนที่มากกว่าระยะเคลื่อนที่ เราก็อยากจะกลับทิศทาง

57
00:04:41,830 --> 00:04:44,500
‫นั่นคือสิ่งที่เรากำลังทำความคิดเห็นนี้

58
00:04:44,530 --> 00:04:48,310
‫เราต้องการย้อนกลับทิศทางของการเคลื่อนไหวและย้อนกลับทิศทางของการเคลื่อนไหว

59
00:04:48,310 --> 00:04:50,350
‫เรามีความเร็วของแพลตฟอร์ม

60
00:04:50,350 --> 00:04:57,070
‫ลองตั้งค่าความเร็วของแท่นเป็นค่าลบของตัวมันเอง โดยพื้นฐานแล้วจะกลับทิศทางของมัน

61
00:04:57,070 --> 00:04:59,860
‫ดังนั้นความเร็วของแพลตฟอร์มจึงเท่ากับ

62
00:05:00,660 --> 00:05:02,810
‫ความเร็วของแพลตฟอร์มเชิงลบ

63
00:05:02,820 --> 00:05:07,350
‫นั่นคือการพลิกลูกศรของความเร็วโดยพื้นฐาน

64
00:05:07,590 --> 00:05:12,420
‫ผมจะใส่เครื่องหมายอัฒภาคต่อท้ายบรรทัดนั้น และลองดูว่าคำสั่งนี้ได้ผลจริงตามที่เราตั้งใจหรือไม่

65
00:05:12,450 --> 00:05:14,610
‫ไปที่ตัวแก้ไขแล้วกดคอมไพล์

66
00:05:14,610 --> 00:05:19,860
‫และตอนนี้ที่ทำสำเร็จแล้ว เราก็สามารถกดเล่นได้เลย และดูว่าจะเกิดอะไรขึ้น

67
00:05:20,130 --> 00:05:27,000
‫ดังนั้นฉันจึงคาดหวังว่ามันจะเดินหน้าและถอยหลังได้มากพอๆ กับที่มันทำ และนั่นก็ค่อนข้างดี

68
00:05:27,030 --> 00:05:31,710
‫ทีนี้ สิ่งที่เกิดขึ้นจริงคือ มันเลยจุดเริ่มของมันไปหน่อย

69
00:05:32,040 --> 00:05:33,390
‫เหตุผลที่ว่า

70
00:05:33,390 --> 00:05:35,130
‫ถ้าเรามองดู นั่นคือจุดเริ่มต้น

71
00:05:35,130 --> 00:05:44,790
‫และถ้าผมไปตีและมองไปด้านข้างจากมุมเดียวกันกับที่ผู้เล่นของผมยืนอยู่ คุณจะเห็นว่ามันเคลื่อนที่เป็นระยะทางเท่ากันจากจุดเริ่มต้นในแต่ละทิศทาง

72
00:05:44,790 --> 00:05:53,160
‫และนั่นเป็นเพราะเมื่อเราดูสิ่งที่กำลังคำนวณที่นี่ ระยะทางที่เคลื่อนที่มาจากตำแหน่งเริ่มต้นที่ไม่เคยเปลี่ยนแปลง

73
00:05:53,160 --> 00:05:58,860
‫เราไม่เคยอัปเดตตำแหน่งเริ่มต้นนั้น ดังนั้นเราจึงไปในทิศทางเชิงลบ

74
00:05:58,860 --> 00:06:03,210
‫จากนั้นเราจะเดินทางผ่านมันเท่ากับที่เราเดินทางอีกทางหนึ่ง

75
00:06:03,360 --> 00:06:06,300
‫นั่นไม่ใช่วิธีที่ฉันต้องการให้แพลตฟอร์มของฉันทำงาน

76
00:06:06,300 --> 00:06:09,960
‫ฉันจะขอท้าให้คุณอัปเดตตำแหน่งเริ่มต้นของคุณ

77
00:06:09,960 --> 00:06:12,240
‫เรากำลังจะทำสิ่งนั้นภายในคำสั่ง if

78
00:06:12,240 --> 00:06:17,910
‫ดังนั้นมันจะเกิดขึ้นก็ต่อเมื่อเราถึงจุดสิ้นสุดของการเดินทาง และคุณจะต้องตั้งค่าให้อยู่ที่ตำแหน่งปัจจุบัน

79
00:06:17,910 --> 00:06:24,870
‫โดยพื้นฐานแล้ว เราจะรีเซ็ตจุดเริ่มต้นของเราไปที่อีกด้านหนึ่ง จากนั้นเราก็สามารถเดินทางในทิศทางตรงกันข้ามได้

80
00:06:24,870 --> 00:06:28,370
‫ดังนั้นให้ทดสอบผลลัพธ์และดูว่าได้ผลตามที่คุณคาดหวังหรือไม่

81
00:06:28,380 --> 00:06:29,880
‫หยุดวิดีโอชั่วคราวแล้วเริ่มกันเลย

82
00:06:32,930 --> 00:06:33,440
‫ตกลง.

83
00:06:33,440 --> 00:06:34,160
‫ยินดีต้อนรับกลับ.

84
00:06:34,160 --> 00:06:42,470
‫เรากำลังจะไปหลังจากที่เราย้อนความเร็วตรงนี้แล้ว ไม่สำคัญหรอกว่าจะเป็นหลังหรือก่อนเพราะมันไม่มีผลกระทบซึ่งกันและกัน

85
00:06:42,890 --> 00:06:52,040
‫เราจะตั้งค่าตำแหน่งเริ่มต้นให้เท่ากับตำแหน่งปัจจุบัน ซึ่งหมายความว่าในเฟรมถัดไป ระยะทางที่เคลื่อนที่จะเป็นศูนย์

86
00:06:52,040 --> 00:06:59,710
‫เพราะเรารู้ว่าระยะห่างระหว่างตำแหน่งเริ่มต้นกับตัวเองจะเป็นศูนย์

87
00:06:59,720 --> 00:07:02,480
‫กลับไปที่ Unreal กดปุ่มคอมไพล์

88
00:07:02,480 --> 00:07:05,840
‫และเมื่อเสร็จแล้วให้กดเล่นและดูว่าเกิดอะไรขึ้นตอนนี้

89
00:07:06,260 --> 00:07:09,080
‫ดังนั้นฉันจึงคาดหวังว่าสิ่งนี้จะเดินหน้าและถอยหลัง

90
00:07:09,080 --> 00:07:09,860
‫ไปเลย

91
00:07:09,860 --> 00:07:15,290
‫จำนวนยูนิตที่เท่ากันจะกลับไปที่ตำแหน่งเริ่มต้นเสมอ ไม่ย้อนกลับไปอีกเลย

92
00:07:15,290 --> 00:07:16,670
‫ซึ่งยอดเยี่ยมมาก

93
00:07:16,670 --> 00:07:18,260
‫สิ่งที่ฉันต้องการให้เกิดขึ้น

94
00:07:18,260 --> 00:07:25,010
‫สำหรับการบรรยายครั้งนี้ เราได้เรียนรู้วิธีการใช้คำสั่ง if และนิพจน์บูลีนเพื่อทำเช่นนั้น

95
00:07:25,010 --> 00:07:29,360
‫และเราอนุญาตให้ส่งแพลตฟอร์มของเราไปมา

96
00:07:29,360 --> 00:07:30,290
‫สิ่งที่ดี

97
00:07:30,380 --> 00:07:31,970
‫เจอกันใหม่ตอนหน้าค่ะ

