﻿1
00:00:03,990 --> 00:00:05,220
‫Xin chào và chào mừng.

2
00:00:05,220 --> 00:00:07,980
‫Trong bài giảng này, chúng tôi đang triển khai các nền tảng di chuyển.

3
00:00:07,980 --> 00:00:13,560
‫Chúng tôi thực sự sẽ làm cho nền tảng này phát triển bằng cách hiểu một thứ gọi là vòng lặp trò

4
00:00:13,560 --> 00:00:17,010
‫chơi và cách hàm đánh dấu trong C ++ liên quan đến nó.

5
00:00:17,010 --> 00:00:19,260
‫Hãy đi sâu vào và tìm hiểu.

6
00:00:19,410 --> 00:00:24,960
‫Vì vậy, cho đến thời điểm này, chúng tôi đã bỏ qua chức năng này ở đây, chức năng đánh dấu.

7
00:00:24,960 --> 00:00:29,430
‫Chúng tôi đã đưa mọi thứ vào bắt đầu chơi bởi vì đó là những gì chúng tôi đã sử dụng trước đây trong Blueprint.

8
00:00:29,430 --> 00:00:32,400
‫Nhưng chúng ta hãy làm sáng tỏ một chút về chức năng đánh dấu này.

9
00:00:32,400 --> 00:00:38,340
‫Để hiểu tick, chúng ta cần hiểu khái niệm về vòng lặp trò chơi, và đây là cách mà hầu hết các

10
00:00:38,340 --> 00:00:40,620
‫game engine sẽ xây dựng engine của họ.

11
00:00:40,620 --> 00:00:46,170
‫Cách thức hoạt động của nó là, trước hết, game engine sẽ lấy thông tin đầu vào từ người chơi.

12
00:00:46,170 --> 00:00:52,290
‫Vì vậy, bất cứ điều gì hiện tại đang xảy ra, cho dù thanh không gian có xuống hay không, cho dù đó là phím W, cho

13
00:00:52,290 --> 00:00:56,520
‫dù chuột chỉ di chuyển một chút, cho dù nút chuột có bị hạ xuống hay không, tất

14
00:00:56,520 --> 00:01:00,360
‫cả những thứ đó sẽ được công cụ trò chơi thu nhận và xử lý .

15
00:01:00,390 --> 00:01:05,640
‫Sau đó, điều tiếp theo là thông tin đó sẽ được sử dụng để cập nhật trạng thái trò chơi.

16
00:01:05,640 --> 00:01:10,560
‫Có thể người chơi sẽ di chuyển về phía trước một chút, có thể một quả bóng sẽ nảy lên, tất cả những

17
00:01:10,560 --> 00:01:17,010
‫thứ đó sẽ được tính toán và động cơ vật lý chạy và tất cả những thứ tuyệt vời mà chúng ta đã thấy trong các trò chơi trước đây của

18
00:01:17,010 --> 00:01:17,340
‫mình.

19
00:01:17,340 --> 00:01:21,930
‫Và sau đó bước thứ ba là công cụ trò chơi sẽ chuyển sang trạng thái trò chơi

20
00:01:21,930 --> 00:01:27,870
‫và nói, được rồi, người chơi ở đây và camera ở đây, quả bóng ở đằng kia, và nó sẽ hiển thị trên màn hình.

21
00:01:27,870 --> 00:01:34,020
‫Nó sẽ biến nó từ một tập hợp các số thành một hình ảnh để hiển thị trên màn hình của bạn.

22
00:01:34,140 --> 00:01:41,910
‫Bây giờ, hình ảnh đó được gọi là khung hình, khung hình là một hình ảnh duy nhất trong chuỗi các hình ảnh

23
00:01:41,910 --> 00:01:43,290
‫tạo thành video.

24
00:01:43,350 --> 00:01:50,730
‫Bây giờ, máy tính của bạn có thể hiển thị rất nhiều khung hình trong một giây hoặc có thể hiển thị ít hơn.

25
00:01:50,730 --> 00:01:53,430
‫Nhưng đó được gọi là tốc độ khung hình.

26
00:01:53,430 --> 00:01:58,710
‫Máy tính của bạn có thể đi qua vòng lặp trò chơi bao nhiêu khung hình mỗi giây?

27
00:01:58,710 --> 00:02:03,030
‫Tần suất nó có thể xử lý đầu vào, cập nhật trạng thái và kết xuất nó như thế nào?

28
00:02:03,210 --> 00:02:11,040
‫Đó là khung hình trên giây và trong thực tế, chúng tôi sử dụng chức năng đánh dấu để giúp chúng tôi thực hiện bước giữa của vòng lặp

29
00:02:11,040 --> 00:02:14,880
‫trò chơi để giúp chúng tôi cập nhật trạng thái trò chơi của mình.

30
00:02:14,880 --> 00:02:20,280
‫Nó là một hàm được gọi là mọi khung hình và tồn tại trong bản thiết kế cũng như một sự kiện.

31
00:02:20,280 --> 00:02:27,180
‫Vì vậy, bạn nhận được sự kiện đánh dấu và về cơ bản nó cho phép bạn làm điều gì đó để cập nhật trò chơi của mình mỗi

32
00:02:27,180 --> 00:02:27,750
‫khung hình.

33
00:02:27,760 --> 00:02:33,720
‫Bây giờ trong trường hợp của chúng tôi, những gì chúng tôi muốn làm với điều này là cho phép nó di chuyển nền tảng của chúng tôi.

34
00:02:33,720 --> 00:02:35,130
‫Vì vậy, làm thế nào chúng tôi có thể làm điều đó?

35
00:02:35,130 --> 00:02:43,020
‫Chà, nếu chúng tôi lấy vị trí diễn viên đã đặt của chúng tôi và xóa nó khỏi bắt đầu phát và thay vào đó chúng tôi cập nhật vị trí

36
00:02:43,020 --> 00:02:49,920
‫đó trong tích tắc, thì điều đó ban đầu sẽ không hiệu quả lắm vì chúng tôi sẽ liên tục cập nhật vị trí của chúng

37
00:02:49,920 --> 00:02:51,660
‫tôi đến cùng một vị trí.

38
00:02:51,660 --> 00:03:00,000
‫Nếu chúng ta đặt vị trí của diễn viên, vectơ của tôi và sau đó là dấu chấm phẩy, thì đó chỉ là mỗi khung hình đơn lẻ, mỗi lần

39
00:03:00,000 --> 00:03:02,190
‫lặp lại qua vòng lặp trò chơi.

40
00:03:02,220 --> 00:03:05,220
‫Nó chỉ là đặt diễn viên vào cùng một chỗ.

41
00:03:05,310 --> 00:03:11,790
‫Tuy nhiên, nơi điều này trở nên thú vị là nếu chúng ta cập nhật giá trị bên trong vectơ của tôi.

42
00:03:11,790 --> 00:03:24,690
‫Vì vậy, những gì chúng ta có thể làm là chúng ta có thể nói dấu chấm vectơ z của tôi bằng với dấu chấm vectơ z của tôi cộng với một.

43
00:03:24,870 --> 00:03:31,260
‫Vì vậy, những gì chúng tôi đang làm ở đây là chúng tôi đang lấy giá trị hiện nằm trong vectơ Z của tôi.

44
00:03:31,260 --> 00:03:40,860
‫Chúng tôi đang thêm một vào nó và sau đó chúng tôi lấy toàn bộ kết quả đó và đưa nó trở lại vào dấu chấm z vectơ

45
00:03:40,860 --> 00:03:41,640
‫của tôi.

46
00:03:42,000 --> 00:03:49,020
‫Vì vậy, mỗi khi chúng ta đi qua vòng lặp trò chơi này và đánh dấu được gọi bởi công cụ không thực,

47
00:03:49,170 --> 00:03:51,630
‫vectơ z của tôi sẽ tăng lên một.

48
00:03:51,690 --> 00:03:53,700
‫Vậy hãy xem kết quả của việc này là gì.

49
00:03:53,700 --> 00:04:00,210
‫Chúng tôi vào Unreal và nhấn nút biên dịch, sau đó chúng tôi tiếp tục và nhấn play.

50
00:04:00,210 --> 00:04:07,140
‫Chúng ta sẽ thấy rằng nền tảng đó đang tăng lên, bay lên không trung bởi vì tôi đang tăng vị trí Z

51
00:04:07,140 --> 00:04:11,100
‫của nó, vì vậy tôi đang làm cho nó ngày càng cao hơn.

52
00:04:11,100 --> 00:04:16,770
‫Vì vậy, tôi muốn bạn thay đổi Y thay vì thay đổi Z.

53
00:04:16,770 --> 00:04:18,960
‫Vì vậy, hãy thay đổi dòng mã chính xác.

54
00:04:18,960 --> 00:04:21,840
‫Bạn có thể cần thay đổi một số chỗ.

55
00:04:21,840 --> 00:04:29,760
‫Thay đổi kích thước khối nền tảng để nó là một nền tảng tốt để bạn tiếp tục và xem liệu bây giờ việc cập nhật Y thay vì

56
00:04:29,760 --> 00:04:35,160
‫cập nhật Z có cho phép bạn chuyển sang nền tảng, tạm dừng video và bắt đầu hay không.

57
00:04:38,260 --> 00:04:38,770
‫Được chứ.

58
00:04:38,770 --> 00:04:39,470
‫Chào mừng trở lại.

59
00:04:39,490 --> 00:04:42,250
‫Vì vậy, hãy đi sâu vào mã Visual Studio.

60
00:04:42,250 --> 00:04:49,510
‫Và những gì chúng tôi muốn làm là đặt vectơ y của tôi bằng vectơ y của tôi cộng với một.

61
00:04:49,510 --> 00:04:54,880
‫Vì vậy, đó sẽ là di chuyển nó dọc theo trục Y thay vì trục Z.

62
00:04:55,180 --> 00:05:00,370
‫Và sau đó chúng ta sẽ thiết lập vị trí của mọi khung hình thành kết quả được lưu trữ trong biến

63
00:05:00,370 --> 00:05:01,120
‫vectơ của tôi.

64
00:05:01,120 --> 00:05:05,050
‫Vì vậy, chúng tôi sẽ quay trở lại Unreal và đảm bảo rằng chúng tôi biên dịch.

65
00:05:05,050 --> 00:05:10,720
‫Sau đó, chúng tôi sẽ tìm kiếm phác thảo cho nền tảng di chuyển và chọn nó.

66
00:05:10,720 --> 00:05:12,400
‫Chuyển đến ngăn chi tiết.

67
00:05:12,850 --> 00:05:19,420
‫Và ở đây, về cơ bản, chúng ta hãy nhấp đúp vào nền tảng để chúng ta có thể nhìn thấy nó và sau đó chúng ta muốn

68
00:05:19,420 --> 00:05:20,950
‫mở rộng nó lên một chút.

69
00:05:20,950 --> 00:05:29,350
‫Vì vậy, tôi sẽ sử dụng công cụ tỷ lệ với phím R và tôi sẽ tăng tỷ lệ Y và tỷ lệ X và

70
00:05:29,350 --> 00:05:31,030
‫giảm tỷ lệ Z.

71
00:05:31,030 --> 00:05:32,740
‫Vì vậy, nền tảng của tôi ngắn hơn một chút.

72
00:05:32,740 --> 00:05:40,450
‫Giống như, vậy thì chúng tôi cũng sẽ có thể lưu trò chơi đánh cấp độ và nền tảng đang trôi về phía bên phải

73
00:05:40,450 --> 00:05:41,410
‫của tôi.

74
00:05:41,410 --> 00:05:45,070
‫Vì vậy, nó cũng lớn hơn, có nghĩa là tôi có thể đứng lên và đứng trên nó.

75
00:05:45,190 --> 00:05:45,970
‫Và chúng ta bắt đầu.

76
00:05:45,970 --> 00:05:48,280
‫Chúng tôi đã có một chút đầu tiên của chúng tôi về một thợ máy trò chơi.

77
00:05:48,280 --> 00:05:49,600
‫Chúng tôi có một nền tảng di chuyển.

78
00:05:49,600 --> 00:05:54,130
‫Nó không phải là ngược lại và về phía trước mà chúng ta sẽ tìm hiểu thêm một chút về điều đó trong

79
00:05:54,130 --> 00:05:55,330
‫các bài giảng sắp tới.

80
00:05:55,330 --> 00:06:00,400
‫Nhưng hiện tại, chúng tôi đã thực sự triển khai một số chức năng trò chơi trong C ++.

81
00:06:00,400 --> 00:06:02,590
‫Tôi nghĩ rằng bạn nên rất tự hào về bản thân vào lúc này.

82
00:06:02,590 --> 00:06:05,950
‫Hãy tự vỗ về mình và hẹn gặp lại bạn trong bài giảng tiếp theo.

