﻿1
00:00:04,380 --> 00:00:05,520
‫สวัสดีและยินดีต้อนรับ.

2
00:00:05,520 --> 00:00:11,310
‫ในการบรรยายนี้ เราจะมาดูวิธีที่เราสามารถเพิ่มข้อความไดนามิกลงในข้อความบันทึกของเราโดยใช้สตริงใน

3
00:00:11,310 --> 00:00:13,350
‫C++

4
00:00:13,350 --> 00:00:17,100
‫มาดำดิ่งและเรียนรู้เกี่ยวกับสตริงและ C++ กัน

5
00:00:17,340 --> 00:00:23,370
‫เราได้เห็นวิธีการพิมพ์สิ่งง่ายๆ จากบันทึก UI ของเราแล้ว แต่ถ้าเราต้องการพิมพ์ข้อความเพิ่มเติม

6
00:00:23,370 --> 00:00:29,550
‫เช่น ชื่อนักแสดง หรือแม้แต่สิ่งที่ซับซ้อนกว่านั้น เช่น การแสดงข้อความของ

7
00:00:29,550 --> 00:00:33,330
‫เวกเตอร์?

8
00:00:33,630 --> 00:00:40,350
‫โดยทั่วไปแล้วจะไม่มีตัวระบุรูปแบบเนื่องจากตัวระบุรูปแบบมาหาเราตั้งแต่อายุ

9
00:00:40,350 --> 00:00:45,870
‫C ซึ่งเป็นภาษาการเขียนโปรแกรมพื้นฐานเมื่อเปรียบเทียบกับ C ++

10
00:00:45,870 --> 00:00:50,040
‫และในขณะนั้นยังไม่มีความคิดบางอย่าง

11
00:00:50,040 --> 00:00:54,660
‫ดังนั้นสิ่งต่าง ๆ เช่นเวกเตอร์จะไม่รวมอยู่ในวิธีที่เราจัดรูปแบบเพื่อระบุ

12
00:00:54,660 --> 00:00:57,270
‫ดังนั้นเราจึงมักจะใช้สตริงเพื่อทำสิ่งนี้

13
00:00:57,270 --> 00:01:01,920
‫และอย่างที่เราได้กล่าวไปแล้ว สตริงเป็นเพียงตัวแปรข้อความ

14
00:01:01,920 --> 00:01:06,900
‫เป็นตัวแปรที่มีข้อความเพื่อให้เราสามารถประกาศสตริงได้

15
00:01:06,900 --> 00:01:11,280
‫ใน C ++ เราใช้เวกเตอร์ F ซึ่งก่อนหน้านี้เราใช้เวกเตอร์

16
00:01:11,280 --> 00:01:17,190
‫ในที่นี้เราจะใช้สตริง F เป็นประเภทสำหรับสตริงเพื่อให้เราสามารถมีสตริงได้

17
00:01:17,190 --> 00:01:21,240
‫และตอนนี้ฉันจะใส่สตริงของฉันเป็นชื่อตัวแปร

18
00:01:21,240 --> 00:01:24,360
‫และเราจะตั้งค่าสตริงได้อย่างไร?

19
00:01:24,390 --> 00:01:26,940
‫เราเคยเห็นมาบ้างแล้วแถวๆนี้

20
00:01:26,940 --> 00:01:31,560
‫อัญประกาศคู่เหล่านี้คือสิ่งที่แสดงถึงค่าสตริงใน C++

21
00:01:31,560 --> 00:01:36,060
‫นิพจน์ทั้งหมดเหล่านี้ ที่นี่ ซึ่งเรามีเครื่องหมายอัญประกาศคู่ในไฟล์ส่วนหัว

22
00:01:36,060 --> 00:01:41,550
‫ซึ่งเราได้อัญประกาศคู่สำหรับหมวดหมู่ที่เป็นนิพจน์สตริง

23
00:01:41,820 --> 00:01:49,800
‫สิ่งที่เราสามารถทำได้คือตั้งค่าตัวแปรสตริงของฉันจากสิ่งนี้ และฉันจะบอกว่าค่าสตริงของฉันเพียงเพื่อให้แนวคิดเกี่ยวกับสิ่งนั้นและใส่เครื่องหมายอัฒภาคที่ท้ายบรรทัด

24
00:01:49,800 --> 00:01:58,680
‫แล้วเราจะแสดงใน a บันทึกคำสั่ง?

25
00:01:58,680 --> 00:02:06,570
‫ผมจะลบระยะการเคลื่อนที่ออกจากตรงนี้เพื่อเป็นอาร์กิวเมนต์ของบันทึก

26
00:02:06,600 --> 00:02:14,820
‫และจะเปลี่ยนข้อความในข้อความบันทึกเพื่อบอกว่า นี่คือโคลอนสตริง

27
00:02:14,820 --> 00:02:22,680
‫จากนั้นแทนที่จะระบุ F เราใช้เปอร์เซ็นต์ SSE ในครั้งนี้เพื่อระบุสตริงที่เราต้องการพิมพ์

28
00:02:22,680 --> 00:02:30,300
‫แล้วอาร์กิวเมนต์ที่เราส่งผ่านไปยังฟังก์ชันบันทึก E อีกครั้งระหว่างวงเล็บทั้งสองนี้จะเป็นสตริงของฉัน

29
00:02:30,990 --> 00:02:34,890
‫น่าเสียดายที่มันคงจะดีถ้าเพียงแค่ทำงานด้วยตัวเอง

30
00:02:34,890 --> 00:02:42,030
‫แต่น่าเสียดายที่ Unreal มีความยุ่งยากเล็กน้อยที่พวกเขาจะไม่ยอมรับสตริงที่ตรงไปตรงมาเป็นอาร์กิวเมนต์ของบันทึก

31
00:02:42,030 --> 00:02:44,490
‫YUI

32
00:02:44,490 --> 00:02:50,340
‫มันต้องการตัวดำเนินการแปลงเล็กน้อยที่นี่ และวิธีที่เราทำคือใส่เครื่องหมายดอกจันไว้หน้าสตริงของฉัน

33
00:02:50,340 --> 00:02:58,320
‫และมันเพียงแค่แปลงจากสตริง F เป็นรูปแบบที่ค้นหาภายในในบันทึก U

34
00:02:58,320 --> 00:03:02,220
‫เราไม่ต้องลงรายละเอียดมากเกินไปว่าเหตุใดจึงทำเช่นนี้

35
00:03:02,580 --> 00:03:06,390
‫มันเกินระดับที่เราต้องรู้ในเวลานี้

36
00:03:06,390 --> 00:03:13,260
‫ฉันคิดว่ามันสำคัญมากที่จะต้องเรียนรู้มัน เพราะเมื่อเราทำเปอร์เซ็นต์ se เราจำเป็นต้องมีดาวอยู่ข้างหน้าสตริง

37
00:03:13,260 --> 00:03:15,690
‫f ของเราเสมอ

38
00:03:15,690 --> 00:03:19,830
‫มาดูกันว่ามันใช้ได้ผลหรือไม่โดยเข้าไปที่ Unreal แล้วกดปุ่มคอมไพล์

39
00:03:19,830 --> 00:03:25,560
‫จากนั้นเราจะปิด live coding, hit play, เปิด output log และไปที่นี่ นี่คือ string

40
00:03:25,560 --> 00:03:28,050
‫ของฉัน, ค่า string ของฉัน

41
00:03:28,050 --> 00:03:31,890
‫มันเลยพิมพ์ค่าในสตริงของฉัน

42
00:03:31,890 --> 00:03:38,820
‫แต่แน่นอนว่าโค้ดชิ้นนี้ที่ฉันเพิ่งเขียนไปไม่ได้มีประโยชน์อะไรเป็นพิเศษ เพราะฉันสามารถเขียนสตริงนี้ไว้ที่นี่ได้

43
00:03:38,820 --> 00:03:41,430
‫ทำไมต้องกังวลกับธุรกิจทดแทนทั้งหมดนี้?

44
00:03:41,580 --> 00:03:47,850
‫จุดที่น่าสนใจมากขึ้นคือจุดที่เราใส่ค่าไดนามิกลงในตัวแปรนี้แทน

45
00:03:48,210 --> 00:03:51,630
‫ดังนั้นเราจึงสามารถเรียกชื่อนั้นได้

46
00:03:51,630 --> 00:04:00,990
‫นั่นคือฟังก์ชั่นที่มีอยู่ในตัวนักแสดงแพลตฟอร์มเคลื่อนไหวที่ได้รับชื่อของนักแสดงที่เราเห็นในซับระดับเราสามารถใส่ลงในตัวแปรได้

47
00:04:00,990 --> 00:04:08,490
‫ฉันจะเรียกชื่อตัวแปรนั้นแทนสตริงและเปลี่ยนชื่อที่นี่ในบันทึกของสหรัฐอเมริกาด้วย

48
00:04:08,490 --> 00:04:19,410
‫จากนั้นเราสามารถเปลี่ยนข้อความของข้อความบันทึกเป็น start play colon แล้วมันจะเป็นชื่อของนักแสดง

49
00:04:19,410 --> 00:04:26,220
‫ลองกลับไปสู่สิ่งที่ไม่จริง หยุดเล่น ตี รวบรวม ไปข้างหน้าและกดเล่น และเปิดบันทึกผลลัพธ์ คุณจะเห็นว่าเราได้รับข้อความว่า

50
00:04:26,220 --> 00:04:31,890
‫เริ่มเล่น แพลตฟอร์มเคลื่อนที่ หนึ่ง เริ่มเล่น เคลื่อนไหว

51
00:04:31,890 --> 00:04:33,180
‫แพลตฟอร์มสามผลักดัน

52
00:04:33,180 --> 00:04:35,460
‫กุ๊บสาม ดัน เก็บห้า ดัน เก็บเจ็ด

53
00:04:35,460 --> 00:04:39,150
‫ดังนั้นเราจึงมีผลงานมากมายและชื่อทั้งหมดของนักแสดงที่แตกต่างกัน

54
00:04:39,150 --> 00:04:46,260
‫ตอนนี้สิ่งนี้มีประโยชน์มาก เพราะในช่วงหลังๆ ที่เราพิมพ์ระยะการโอเวอร์ชูตของเรา

55
00:04:46,260 --> 00:04:54,570
‫ไม่ชัดเจนเสมอไปว่าใครเป็นคนยิงเกินในกรณีนี้ เพราะพวกเขาเริ่มสับสนกันหมด

56
00:04:54,570 --> 00:05:03,780
‫ดังนั้น การพิมพ์ชื่อนักแสดงที่สร้างข้อความบันทึกจึงมีประโยชน์อย่างมากในการระบุว่าปัญหาอยู่ที่ไหน

57
00:05:03,840 --> 00:05:04,410
‫เกิดขึ้น

58
00:05:04,410 --> 00:05:13,140
‫ดังนั้นฉันจึงขอท้าให้คุณบันทึกชื่อด้วยบันทึกการโอเวอร์ชูตนั้น เพื่อที่เราจะได้เห็นว่าใครมีโอเวอร์ช็อตและได้มากน้อยเพียงใด

59
00:05:13,350 --> 00:05:20,070
‫ดังนั้นคุณจะเพิ่มตัวแปรสำหรับชื่อของนักแสดงที่จะทำเครื่องหมายเหมือนที่เราทำใน Begin Play

60
00:05:20,430 --> 00:05:27,870
‫คุณจะได้รับชื่อเข้าไป และคุณจะเพิ่มเปอร์เซ็นต์ตามที่ระบุไว้ในที่ใดก็ได้ที่คุณต้องการในข้อความบันทึกของคุณ

61
00:05:27,870 --> 00:05:35,730
‫ซึ่งเราจะพิมพ์ว่าเกินเลย และคุณจะเพิ่มอาร์กิวเมนต์สำหรับชื่อนั้น

62
00:05:35,730 --> 00:05:46,380
‫เรายังคงต้องการตัวแปร overshoot ในรายการอาร์กิวเมนต์ แต่ก่อนหน้านั้น คุณจะต้องใส่อาร์กิวเมนต์สำหรับชื่อด้วย

63
00:05:46,620 --> 00:05:52,620
‫และสิ่งสำคัญคือต้องได้ยินว่าลำดับของอาร์กิวเมนต์ตรงกับลำดับของตัวระบุในข้อความของคุณ

64
00:05:52,620 --> 00:05:57,180
‫ดังนั้นหากคุณใส่เปอร์เซ็นต์ก่อนเปอร์เซ็นต์ f นั่นคือลำดับ

65
00:05:57,180 --> 00:06:02,610
‫ชื่อควรมาก่อนโอเวอร์ชูตหรือคุณควรทำในทางกลับกันถ้าคุณทำอย่างอื่น

66
00:06:02,880 --> 00:06:11,460
‫และอย่าลืมเพิ่มดาวก่อนชื่อตัวแปรของคุณเพื่อแปลงสตริงเป็นสิ่งที่บันทึกที่คุณใช้ได้

67
00:06:11,460 --> 00:06:13,140
‫หยุดวิดีโอชั่วคราวและไปกันเลย

68
00:06:16,070 --> 00:06:16,490
‫ตกลง.

69
00:06:16,490 --> 00:06:17,450
‫ยินดีต้อนรับกลับ.

70
00:06:17,480 --> 00:06:30,230
‫ดังนั้นเราจะเริ่มด้วยการหาตัวแปร และนี่ไม่จำเป็นอย่างยิ่ง แต่เราจะใช้ตัวแปรเพียงเพื่อความเรียบง่ายและทำให้บรรทัดนั้นสั้นลงเล็กน้อย

71
00:06:30,230 --> 00:06:36,950
‫ดังนั้นเราจะมีสตริง F ที่เรียกว่าชื่อโดยใช้อักษรตัวพิมพ์ใหญ่ ซึ่งปกติแล้วจะเริ่มต้นชื่อตัวแปรของเรา

72
00:06:36,950 --> 00:06:44,600
‫เราจะใช้ชื่อในตัวแปรนั้นแล้วเราจะใช้เป็นอาร์กิวเมนต์

73
00:06:44,600 --> 00:06:48,080
‫แต่ฉันจะวางรูปแบบของฉันไว้ที่ใด ระบุในข้อความบันทึก

74
00:06:48,080 --> 00:06:55,850
‫ฉันจะใส่มันเป็นสิ่งแรกในข้อความบันทึกของฉันเพื่อให้ชัดเจนว่านี่เป็นข้อความบันทึกที่มาจากสิ่งนี้

75
00:06:55,850 --> 00:07:02,750
‫ผมจะใส่เปอร์เซ็นต์ก่อน และนั่นหมายความว่าอาร์กิวเมนต์ของผมต้องไปก่อนอาร์กิวเมนต์ที่เกินเลย

76
00:07:02,750 --> 00:07:11,420
‫เราจะเอาชื่อของพวกเขามาใส่ที่นี่ และเราต้องใส่เครื่องหมายดอกจันหน้าชื่อเพื่อที่จะแปลงให้เหมาะสม

77
00:07:11,420 --> 00:07:13,340
‫ตอนนี้ขอกลับไปที่บรรณาธิการ

78
00:07:13,340 --> 00:07:19,610
‫หยุดเล่น Hit คอมไพล์ใหม่ ปิดเทอร์มินัล กดเล่น และเปิดบันทึกเอาต์พุต

79
00:07:20,060 --> 00:07:24,530
‫และคุณจะเห็นว่าเราเริ่มได้รับข้อความติ๊กผ่านเข้ามา

80
00:07:24,560 --> 00:07:28,010
‫ถูกผลักและโอเวอร์ช็อตด้วยการกดเพียงครั้งเดียวและ q11

81
00:07:28,010 --> 00:07:34,190
‫ดังจะเห็นได้จากที่นี่ คุณสามารถสรุปได้ว่าเราไม่สามารถสรุปได้ก่อนหน้านี้ ซึ่งก็คือแพลตฟอร์มที่เคลื่อนที่เร็วกว่า

82
00:07:34,190 --> 00:07:40,100
‫ลูกบาศก์แบบผลัก คืออันที่โอเวอร์โหลดมากกว่า ในขณะที่แพลตฟอร์มที่เคลื่อนที่ดูเหมือนจะโอเวอร์โหลดน้อยกว่า

83
00:07:40,100 --> 00:07:44,390
‫ซึ่งก็คือ ฉันจะคาดหวัง

84
00:07:44,390 --> 00:07:47,840
‫แต่เป็นการดีที่ได้รับการยืนยันที่นี่ในบันทึก

85
00:07:47,870 --> 00:07:48,440
‫สิ่งที่ดี

86
00:07:48,440 --> 00:07:51,710
‫นั่นคือทั้งหมดสำหรับการเบี่ยงเบนการบันทึกเล็กน้อยของเรา

87
00:07:51,710 --> 00:07:56,330
‫หวังว่าคุณจะพบว่าสิ่งนี้น่าสนใจ แล้วพบกันใหม่ในการบรรยายครั้งต่อไป

