﻿1
00:00:04,500 --> 00:00:05,430
‫สวัสดีและยินดีต้อนรับ.

2
00:00:05,430 --> 00:00:16,740
‫ในการบรรยายนี้ เราจะเรียนรู้เกี่ยวกับการตั้งค่าฟังก์ชันการเรียกตำแหน่งใน C++ เพื่อให้เราสามารถนำลูกบาศก์ไปยังตำแหน่งใหม่เมื่อเราเริ่มเล่น

3
00:00:16,740 --> 00:00:19,500
‫อย่างที่คุณเห็นที่นี่ จู่ๆ ลูกบาศก์นี้ก็ปรากฏขึ้นเมื่อเราเริ่มเล่น

4
00:00:19,500 --> 00:00:23,520
‫มาดูกันว่าฟังก์ชั่นทำงานอย่างไรใน C++

5
00:00:23,580 --> 00:00:32,010
‫มาดูกันว่าฟังก์ชันแปลจาก Blueprint ไปเป็น C++ อย่างไร โดยเฉพาะอย่างยิ่งการใช้ฟังก์ชันในขั้นตอนนี้

6
00:00:32,010 --> 00:00:36,390
‫เราจะมาดูวิธีการสร้างของเราเองในภายหลังในส่วนนี้

7
00:00:36,570 --> 00:00:40,260
‫ดังนั้นเพื่อรีเฟรชหน่วยความจำของคุณ นี่คือหน้าตาของฟังก์ชันใน Blueprint

8
00:00:40,260 --> 00:00:45,630
‫คุณสามารถเห็นได้ว่าเรามีโหนด เรามีอินพุตพินทางด้านซ้าย เอาต์พุตพินทางด้านขวา และเราสามารถเสียบสิ่งต่าง

9
00:00:45,630 --> 00:00:50,910
‫ๆ เช่นตัวแปรเข้ากับพินอินพุตเพื่อทำสิ่งเดียวกันใน C ++

10
00:00:50,910 --> 00:00:55,170
‫ดูเหมือนว่าคุณใช้ชื่อฟังก์ชันอีกครั้งไม่มีช่องว่าง

11
00:00:55,170 --> 00:01:00,720
‫ดังนั้นแทนที่จะมีโหนดที่ตั้งนักแสดงเป็นคำที่แยกจากกัน เรามีทุกอย่างรวมกันโดยใช้ตัวพิมพ์อูฐ

12
00:01:00,720 --> 00:01:03,690
‫แล้วเราก็มีวงเล็บ

13
00:01:03,690 --> 00:01:10,440
‫และในวงเล็บ เรามีรายการอินพุต และอินพุตเหล่านี้อาจมีได้มากกว่าหนึ่งรายการ

14
00:01:10,440 --> 00:01:14,460
‫คุณสามารถคั่นด้วยเครื่องหมายจุลภาคได้ แต่สำหรับตัวอย่างแรก เราจะมีแค่อันเดียว

15
00:01:14,550 --> 00:01:18,000
‫และอินพุตเหล่านี้เรียกว่าอาร์กิวเมนต์

16
00:01:18,000 --> 00:01:20,670
‫อย่าถามว่าทำไมไม่อยากเถียง

17
00:01:20,670 --> 00:01:27,870
‫ดังนั้น เราจะต้องใส่ตัวแปรเหล่านี้เข้าไป แต่คุณไม่จำเป็นต้องส่งผ่านตัวแปร

18
00:01:27,870 --> 00:01:29,130
‫ตัวแปรเป็นเพียงวิธีหนึ่งในการทำ

19
00:01:29,130 --> 00:01:30,960
‫คุณสามารถส่งผ่านค่าได้เช่นกัน

20
00:01:30,960 --> 00:01:36,600
‫ดังนั้นหากเรามีสถานการณ์เช่นนี้ที่เราต้องการตั้งค่าตำแหน่งเป็น

21
00:01:36,600 --> 00:01:44,820
‫1 ถึง 3 เราสามารถทำได้ใน C++ เช่นกันโดยใช้ตัวสร้าง F Vector ภายในวงเล็บสำหรับฟังก์ชันโดยตรง

22
00:01:44,820 --> 00:01:51,060
‫นั่นหมายความว่าเราตั้งค่าเป็นค่าเฉพาะมากกว่าค่าที่มีอยู่ในตัวแปร

23
00:01:51,060 --> 00:01:52,620
‫ลองไปกันเถอะ

24
00:01:52,620 --> 00:01:59,790
‫เราจะไปที่โค้ด Visual Studio และเราจะดูการเล่น Begin หลังจากที่เราอัปเดต

25
00:01:59,790 --> 00:02:01,710
‫My Vector แล้ว

26
00:02:01,950 --> 00:02:13,020
‫ฉันจะเพิ่มบรรทัดใหม่สองสามบรรทัดและเริ่มพิมพ์ที่ตั้งของนักแสดงตรวจสอบให้แน่ใจว่าคุณพิมพ์ถูกต้องเพราะชื่อต้องตรงกันทุกประการใน

27
00:02:13,020 --> 00:02:18,360
‫C ++ จากนั้นคุณเปิดวงเล็บและเราจะไปที่ สร้างค่าเวกเตอร์ F ใหม่

28
00:02:18,360 --> 00:02:22,950
‫เราจะพิมพ์ F vector ในวงเล็บเปิดอีกครั้ง

29
00:02:22,950 --> 00:02:28,470
‫และในที่นี้ เรากำลังส่งต่อข้อโต้แย้งไปยังคอนสตรัคเตอร์สำหรับ F Vector

30
00:02:28,470 --> 00:02:34,320
‫นี่จึงเหมือนกับการเรียกใช้ฟังก์ชันแล้วส่งผ่านค่าของฟังก์ชันนั้นไปยังฟังก์ชันอื่น

31
00:02:34,320 --> 00:02:36,870
‫แต่เราจะพูดถึงเรื่องพวกนี้มากขึ้นในภายหลัง

32
00:02:36,870 --> 00:02:43,560
‫และสิ่งที่เราทำได้ตรงนี้คือพิมพ์หนึ่ง ลูกน้ำสอง ลูกน้ำสาม และนั่นหมายความว่าเวกเตอร์ f 1, 2, 3 จะถูกส่งต่อไปยังตำแหน่งนักแสดง

33
00:02:43,560 --> 00:02:50,910
‫จากนั้นเราสามารถใส่เครื่องหมายอัฒภาคที่ส่วนท้ายของ เส้นที่เสร็จสมบูรณ์

34
00:02:50,910 --> 00:02:53,070
‫ดังนั้นขอไปที่ไม่จริง

35
00:02:53,070 --> 00:02:56,490
‫ไปคอมไพล์โค้ดกันเลย

36
00:02:56,490 --> 00:03:02,550
‫และเพื่อให้เราสามารถเห็นผลของสิ่งนี้ เราต้องไปที่นักแสดงแพลตฟอร์มที่เคลื่อนไหวของเรา และคุณจะสังเกตเห็นว่าจริงๆ

37
00:03:02,550 --> 00:03:07,530
‫แล้วไม่มีส่วนประกอบในตัวแสดงนี้ ซึ่งหมายความว่าไม่สามารถมีตำแหน่งได้เพราะมีเพียงส่วนประกอบเท่านั้น

38
00:03:07,530 --> 00:03:09,840
‫สามารถให้ตำแหน่ง

39
00:03:09,840 --> 00:03:16,170
‫ดังนั้นเราสามารถไปข้างหน้าและเพิ่มบางอย่างเช่นคิวบ์ให้กับนักแสดงแพลตฟอร์มที่กำลังเคลื่อนไหวหรือไปที่โฆษณาในบานหน้าต่างรายละเอียดแล้วเราลงไปที่

40
00:03:16,170 --> 00:03:27,210
‫Cube และนั่นให้ลูกบาศก์แก่เราและเราสามารถไปข้างหน้าและเล่นและดูว่าเรา' สามารถกำหนดให้การกระทำนี้เป็นที่ตั้งได้

41
00:03:27,210 --> 00:03:34,110
‫เราสามารถคลิกที่แพลตฟอร์มที่กำลังเคลื่อนที่ จากนั้นเราสามารถดีดออกโดยใช้ปุ่มนำออกในแถบเครื่องมือ จากนั้นดับเบิลคลิกที่แพลตฟอร์มที่กำลังเคลื่อนที่

42
00:03:34,110 --> 00:03:37,980
‫และคุณจะเห็นว่ามันพาเราไปยังตำแหน่งของแท่นเคลื่อนที่

43
00:03:37,980 --> 00:03:45,810
‫และด้วยตัวเลือกที่เลือกในค่าผิดปกติหรือในมุมมองฉาก เราสามารถดูบานหน้าต่างรายละเอียดและเราจะเห็นว่า

44
00:03:45,810 --> 00:03:51,720
‫นั่นเอง การแปลงร่างบอกว่าตำแหน่งของมันคือหนึ่ง สอง สาม

45
00:03:51,720 --> 00:03:55,530
‫เราได้ตั้งค่าอย่างถูกต้องในโค้ด C++

46
00:03:55,530 --> 00:04:02,250
‫สำหรับส่วนถัดไปนี้ มันจะสร้างความสับสนหากเรากำลังตั้งค่า Y ของเวกเตอร์ของฉันจากตัวแปร

47
00:04:02,610 --> 00:04:04,500
‫x ของฉัน

48
00:04:04,500 --> 00:04:06,780
‫มาลบบรรทัดนั้นและเริ่มเล่นให้ฉัน

49
00:04:06,780 --> 00:04:16,080
‫นั่นคือบรรทัดที่ 19 และฉันจะลบบรรทัดว่างพิเศษสองสามบรรทัดออก เพื่อที่เราจะได้มีระหว่างบรรทัดใหญ่สุดในการเล่นกับตำแหน่งนักแสดง

50
00:04:16,320 --> 00:04:22,230
‫ฉันขอท้าให้คุณใช้ตัวแปรแทนการสร้างเวกเตอร์ f แทน

51
00:04:22,230 --> 00:04:26,580
‫ดังนั้นแทนที่ตัวสร้างเวกเตอร์ F ที่เราใช้อยู่

52
00:04:26,610 --> 00:04:31,800
‫อัปเดตเวกเตอร์ของฉันเพื่อให้มีตำแหน่งอื่น

53
00:04:31,800 --> 00:04:35,010
‫เอาเข้าไปใกล้ตัวผู้เล่นได้ไหมครับ?

54
00:04:35,010 --> 00:04:40,680
‫เมื่อเรากดปุ่มเล่น ลูกบาศก์จะอยู่ในตำแหน่งที่ผู้เล่นสามารถมองเห็นได้

55
00:04:40,680 --> 00:04:42,480
‫หยุดวิดีโอชั่วคราวและไปกันเลย

56
00:04:45,390 --> 00:04:47,080
‫สวัสดีและยินดีต้อนรับกลับ

57
00:04:47,100 --> 00:04:54,120
‫วิธีที่เราทำคือลบเวกเตอร์ F นี้ออก วงเล็บคืออาร์กิวเมนต์ นั่นคือสิ่งที่เรียกว่า

58
00:04:54,120 --> 00:04:55,260
‫จำได้ไหม

59
00:04:55,260 --> 00:05:02,520
‫และในอาร์กิวเมนต์เพื่อกำหนดตำแหน่งนักแสดง เราจะพิมพ์เวกเตอร์ของฉัน

60
00:05:02,520 --> 00:05:10,920
‫มันจะใช้ค่าภายในตัวแปรเวกเตอร์ของฉันเพื่อกำหนดตำแหน่งของนักแสดงเมื่อเริ่มเล่นเมื่อเราเริ่มเล่น

61
00:05:10,920 --> 00:05:14,220
‫มาเข้าสู่เรื่องที่ไม่จริงกันเถอะ หยุดเล่นก่อน

62
00:05:14,220 --> 00:05:18,750
‫มาดูตำแหน่งของตัวละครบุคคลที่สามกัน

63
00:05:18,750 --> 00:05:22,110
‫เราจะเห็นได้ว่านี่คือที่ตั้งของที่นี่

64
00:05:22,110 --> 00:05:25,080
‫สิ่งที่ฉันทำได้จริง คุณสามารถคัดลอกแต่ละรายการเหล่านี้ได้ด้วยตนเอง

65
00:05:25,080 --> 00:05:30,510
‫คุณสามารถคลิกขวาที่ตำแหน่ง คลิกคัดลอก ไปที่แพลตฟอร์มที่กำลังเคลื่อนที่ของคุณ

66
00:05:30,780 --> 00:05:39,540
‫และตำแหน่งที่เรามีเวกเตอร์ เราสามารถคลิกขวาแล้วกดวาง แล้วมันจะวางเวกเตอร์ทั้งหมดลงไปตรงนั้น

67
00:05:39,540 --> 00:05:44,010
‫ตอนนี้เรารู้แล้วว่ากำลังจะย้าย Platform Cube มาอยู่ที่ 000

68
00:05:44,010 --> 00:05:48,810
‫แต่ถ้าผมตีเล่น จริง ๆ ก็ไม่ได้มีอะไรเกิดขึ้นมากนักเพราะลืมคอมไพล์

69
00:05:48,810 --> 00:05:53,280
‫นี่คือสิ่งที่ต้องจำไว้เสมอว่าเราจำเป็นต้องคอมไพล์การเปลี่ยนแปลงใดๆ ใน C++

70
00:05:53,280 --> 00:05:59,790
‫ดังนั้น เราต้องกดปุ่มคอมไพล์นั้น และเมื่อเสร็จสิ้นเท่านั้น เราจะเห็นการเปลี่ยนแปลงที่เราได้ทำลงไปจริงๆ

71
00:05:59,790 --> 00:06:01,500
‫เลยลองกดเล่นดู

72
00:06:01,500 --> 00:06:02,310
‫และที่นั่นคุณไป

73
00:06:02,310 --> 00:06:06,870
‫เรามีลูกบาศก์ยืนอยู่ตรงหน้าผู้เล่นของเรา

74
00:06:06,870 --> 00:06:11,610
‫ดังนั้นเราจึงย้ายมันสำเร็จในการเริ่มเล่นโดยใช้รหัส C++

75
00:06:11,610 --> 00:06:12,390
‫สิ่งที่ดี

76
00:06:12,390 --> 00:06:14,070
‫เจอกันใหม่ตอนหน้าค่ะ

