﻿1
00:00:04,020 --> 00:00:04,980
‫สวัสดีและยินดีต้อนรับ.

2
00:00:04,980 --> 00:00:14,010
‫ในการบรรยายนี้ เราจะทำเพื่อให้คุณใช้โพรเจกไทล์ของคุณจนหมด เกมของคุณจะรีสตาร์ทโดยอัตโนมัติในระดับปัจจุบัน

3
00:00:14,010 --> 00:00:18,810
‫หลังจากหยุดไป 5 วินาที มาดูวิธีการทำกัน

4
00:00:19,080 --> 00:00:25,650
‫องค์ประกอบหนึ่งของเกมนี้ที่ไม่สนุกเป็นพิเศษในตอนนี้ก็คือ เมื่อคุณหมดกระสุน มันจะเป็นทางตัน

5
00:00:25,650 --> 00:00:26,910
‫คุณไม่สามารถลองอีกครั้ง

6
00:00:26,910 --> 00:00:27,930
‫คุณไม่สามารถทำอะไรได้อีก

7
00:00:27,930 --> 00:00:29,820
‫คุณไม่สามารถก้าวไปสู่ระดับอื่นได้

8
00:00:30,150 --> 00:00:38,160
‫ตอนนี้ วิธีที่คุณสามารถแก้ไขได้คือการอนุญาตให้เราโหลดระดับปัจจุบันใหม่

9
00:00:38,880 --> 00:00:42,750
‫วิธีที่คุณทำได้คือการใช้โหนดพิเศษในพิมพ์เขียว

10
00:00:42,750 --> 00:00:47,850
‫ดังนั้น หากคุณคลิกขวาในกราฟเหตุการณ์ แสดงว่าคุณเปิดพิมพ์เขียวระดับของคุณและคลิกขวาในกราฟเหตุการณ์

11
00:00:48,180 --> 00:00:50,580
‫เราสามารถค้นหาระดับเปิด

12
00:00:50,580 --> 00:00:51,720
‫และมีสองตัวเลือกที่นี่

13
00:00:51,720 --> 00:00:55,650
‫มีระดับเปิดตามชื่อและระดับเปิดตามการอ้างอิงวัตถุ

14
00:00:55,800 --> 00:00:59,520
‫เราสามารถใช้ระดับเปิดตามชื่อ

15
00:00:59,520 --> 00:01:06,510
‫ดังนั้นที่นี่คุณจะได้โหนดที่มีผลข้างเคียงอย่างเห็นได้ชัด เพราะมันจะทำการโหลดระดับใหม่ และมีอินพุต

16
00:01:06,510 --> 00:01:09,150
‫ซึ่งเป็นชื่อระดับที่นี่

17
00:01:09,600 --> 00:01:12,000
‫ตอนนี้เราจะได้รับชื่อระดับปัจจุบันได้อย่างไร?

18
00:01:12,000 --> 00:01:19,050
‫เราสามารถพิมพ์ได้ แต่ถ้าเราเปลี่ยนชื่อระดับนี้โดยไม่ได้ตั้งใจในอนาคต

19
00:01:19,350 --> 00:01:30,930
‫สิ่งที่เราสามารถทำได้คือคลิกขวาและรับชื่อระดับปัจจุบัน ซึ่งทำให้เรามีโหนดอื่นที่ส่งคืนชื่อระดับปัจจุบัน

20
00:01:30,930 --> 00:01:33,990
‫ที่น่าสนใจคือ อันนี้ไม่ใช่ฟังก์ชันล้วนๆ

21
00:01:33,990 --> 00:01:35,070
‫ฉันมีความคิดว่าทำไมไม่มี.

22
00:01:35,130 --> 00:01:36,840
‫เพราะเห็นว่ามันควรจะเป็น

23
00:01:36,930 --> 00:01:44,400
‫และสิ่งที่เราสามารถทำได้คือแม้ว่าทั้งสองประเภทนี้จะแตกต่างกัน แต่ประเภทหนึ่งส่งคืนสตริงและอีกประเภทหนึ่งต้องการชื่อประเภท

24
00:01:44,400 --> 00:01:51,120
‫เป็นไปได้จริง ๆ ที่จะแปลงระหว่างสตริงและชื่อเพื่อให้เราสามารถลากจากค่าที่ส่งกลับเป็นค่าอินพุต

25
00:01:51,120 --> 00:01:56,430
‫และโหนดการแปลงจะถูกสร้างขึ้นสำหรับเราโดยอัตโนมัติ

26
00:01:56,430 --> 00:02:04,380
‫เราจำเป็นต้องเชื่อมต่อพินการดำเนินการระหว่างสองสิ่งนี้ด้วย ดังนั้นเราจะแปลงชื่อระดับปัจจุบันแล้วเปิดระดับ

27
00:02:04,800 --> 00:02:06,870
‫ตอนนี้เราต้องการทำสิ่งนี้เมื่อไหร่?

28
00:02:06,870 --> 00:02:12,900
‫ขณะนี้ทุกอย่างกำลังเกิดขึ้นในเหตุการณ์สำคัญหรือเริ่มเล่น แต่มีตัวเลือกอื่น

29
00:02:12,900 --> 00:02:23,010
‫สิ่งที่เราทำได้คือเราสามารถมีโหนดพิเศษในกราฟเหตุการณ์รูท ดังนั้นจึงไม่อยู่ในฟังก์ชัน แต่อยู่ภายในกราฟเหตุการณ์รูทที่เรียกว่าโหนดล่าช้า

30
00:02:23,010 --> 00:02:29,220
‫สิ่งที่เราจะทำคือหลังจากกดกระสุนหมด เราจะดึงหมุดการประหารชีวิตออกที่นี่

31
00:02:29,220 --> 00:02:31,560
‫และค้นหาการหน่วงเวลา

32
00:02:32,220 --> 00:02:37,080
‫จากนั้นคุณจะเห็นว่ามีโหนดชนิดพิเศษที่มีนาฬิกาติดอยู่

33
00:02:37,080 --> 00:02:47,040
‫และนี่หมายความว่าเอาต์พุตไม่ได้เกิดขึ้นทันทีหลังจากฟังก์ชันเสร็จสิ้น แต่จะเกิดขึ้นหลังจากผ่านไประยะหนึ่ง

34
00:02:47,040 --> 00:02:53,490
‫คุณจะเห็นว่าเราสามารถป้อนระยะเวลาที่นี่ และระยะเวลานั้นอาจเป็น 5 วินาที เป็นต้น

35
00:02:53,490 --> 00:03:04,020
‫ดังนั้นในสตริงการพิมพ์ของฉัน ฉันจะอัปเดตเพื่อบอกว่ากระสุนจะรีสตาร์ทใน 5 วินาที แล้วจากนั้นก็ dot, dot,

36
00:03:04,020 --> 00:03:04,710
‫dot

37
00:03:05,100 --> 00:03:16,650
‫จากนั้นเราสามารถเสียบโค้ดที่รีสตาร์ทระดับลงในเอาต์พุตซึ่งเป็นโหนดที่เสร็จสมบูรณ์ของโหนดการหน่วงเวลา

38
00:03:16,740 --> 00:03:24,390
‫ดังนั้นถ้าเราเริ่มเล่นตอนนี้ สิ่งที่เราจะเห็นคือ กระสุนหมด กระสุนทั้งหมดของฉันหมด

39
00:03:24,390 --> 00:03:33,540
‫ฉันหมดและมันบอกว่า ฉันจะรีสตาร์ทใน 5 วินาที และหลังจากผ่านไป 5 วินาที บูมระดับเพิ่งเริ่มต้นใหม่

40
00:03:33,540 --> 00:03:40,950
‫ความท้าทายเล็กน้อยสำหรับการบรรยายครั้งนี้คือการดึงฟังก์ชันจากโหนดที่เราเพิ่งสร้างขึ้น รับระดับปัจจุบัน

41
00:03:40,950 --> 00:03:43,830
‫ชื่อและระดับที่เปิดอยู่

42
00:03:43,830 --> 00:03:48,810
‫และความท้าทายของฉันสำหรับคุณคือการคิดชื่อที่ดีสำหรับฟังก์ชันนี้

43
00:03:48,810 --> 00:03:50,430
‫หยุดวิดีโอชั่วคราวและไปกันเลย

44
00:03:53,740 --> 00:03:54,050
‫ตกลง.

45
00:03:54,060 --> 00:03:54,660
‫ยินดีต้อนรับกลับ.

46
00:03:54,660 --> 00:03:59,370
‫ฉันจะเรียกมันว่าระดับเริ่มต้นใหม่เพราะนั่นคือสิ่งที่ฉันคิดว่ากำลังทำอยู่

47
00:03:59,370 --> 00:04:08,460
‫ดังนั้นฉันจะคลิกขวาเพื่อยุบเพื่อทำงานและเรียกมันว่าระดับการรีสตาร์ทและใช้ได้กับอินพุตปัจจุบัน

48
00:04:08,460 --> 00:04:12,690
‫ไม่จำเป็นต้องบริสุทธิ์เพราะมันมีผลข้างเคียงของการเริ่มระดับใหม่

49
00:04:12,690 --> 00:04:14,970
‫ดังนั้นเราจึงไม่ต้องการให้มันบริสุทธิ์อยู่ดี

50
00:04:14,970 --> 00:04:15,690
‫แค่นั้นเอง

51
00:04:15,690 --> 00:04:25,170
‫ฉันจะจัดระเบียบโหนดใหม่เล็กน้อยและลบโหนดทดสอบและลบฟังก์ชันการทดสอบของฉันโดยคลิกขวาที่มันในพิมพ์เขียวของฉันแล้วกดลบ

52
00:04:25,470 --> 00:04:36,420
‫และเราก็มีกราฟพิมพ์เขียวย่อเล็ก ๆ ที่อธิบายได้ชัดเจนว่าเกมของเราทำอะไรได้บ้างในระดับที่สูงมาก

53
00:04:36,420 --> 00:04:37,830
‫ดังนั้นฉันจึงพอใจกับผลลัพธ์ที่ได้

54
00:04:37,830 --> 00:04:41,640
‫รู้สึกเหมือนมี game loop ที่ดี แล้วเจอกันในการบรรยายครั้งต่อไป

