‫Chào mừng trở lại.
‫Trong video này, chúng tôi sẽ làm việc để hiển thị văn bản trên màn hình để cho chúng tôi biết rằng trò chơi đang bắt đầu.
‫Và đây là bước đầu tiên để hiển thị đồng hồ đếm ngược để cho người chơi biết rằng trò chơi vẫn chưa
‫bắt đầu hoàn toàn, nhưng nó sẽ bắt đầu sớm.
‫Bây giờ, điều này sẽ liên quan đến các sự kiện có thể triển khai kế hoạch chi tiết.
‫Sự kiện có thể triển khai bản thiết kế là một hàm C ++ mà chúng ta có thể gọi từ C ++, nhưng chúng ta thực
‫sự triển khai chức năng ở phía bản thiết kế.
‫Vì vậy, chúng ta có thể có lớp C ++ của mình chẳng hạn như chế độ trò chơi và chúng ta có thể có một hàm được đánh dấu là bản
‫thiết kế, sự kiện có thể triển khai và sau đó chúng ta có thể thực hiện hành vi đó trong bản thiết kế.
‫Vì vậy, khi chúng ta gọi hàm C ++ được đánh dấu là sự kiện có thể triển khai bản thiết kế, thì sự kiện trong bản thiết
‫kế sẽ bị loại bỏ.
‫Và bất kỳ logic nào của kế hoạch chi tiết mà chúng tôi kết nối với sự kiện đó trong kế hoạch chi tiết sẽ được gọi.
‫Vì vậy, tôi sẽ tạo một chức năng sự kiện có thể triển khai kế hoạch chi tiết ở đây trong điều chỉnh xe tăng, chế độ trò chơi và các sự kiện có
‫thể triển khai kế hoạch chi tiết không thể ở chế độ riêng tư.
‫Vì vậy, tôi sẽ thêm điều này vào phần được bảo vệ.
‫Bây giờ tôi sẽ biến nó thành một hàm void và tôi chỉ đơn giản gọi đây là trò chơi bắt đầu.
‫Bây giờ, để biến đây thành một sự kiện có thể triển khai được trong bản thiết kế, tôi phải cung cấp cho nó một macro hàm U
‫với hàm U.
‫Chỉ định sự kiện có thể triển khai kế hoạch chi tiết.
‫Bây giờ, khi chúng ta đánh dấu sự kiện có thể triển khai được trong bản thiết kế này, chúng ta thậm chí không cần cung cấp cho nó một phần
‫thân hàm ở đây trong C ++.
‫Unreal Engine sẽ mong đợi chúng tôi triển khai chức năng này trong các bản thiết kế, nhưng chúng tôi có thể gọi
‫nó từ C ++ và đó chính xác là những gì chúng tôi sẽ làm ở đây trong Handle Game Start.
‫Vì vậy, ngay sau khi chúng tôi đã thiết lập các biến xe tăng và bộ điều khiển người chơi, tôi sẽ gọi trò chơi bắt đầu và bây
‫giờ chúng tôi có thể biên dịch nó.
‫Và quay lại đây trong trình chỉnh sửa, tôi sẽ mở chế độ chơi xe tăng điều chỉnh BP và đây là nơi chúng ta
‫có thể triển khai chức năng.
‫Vì vậy, nếu chúng ta nhấp chuột phải và nhập trò chơi bắt đầu, thì đây là trò chơi bắt đầu sự kiện đã được tạo ngay sau
‫khi chúng ta khai báo hàm và cung cấp cho nó macro hàm với sự kiện có thể triển khai bản thiết kế.
‫Vì vậy, về phía C ++, chúng tôi đang gọi điều này và trong các bản thiết kế, sự kiện này đang phản hồi nó.
‫Chúng ta có thể kiểm tra điều này bằng một nút chuỗi in đơn giản và đối với chuỗi, chúng ta có thể nói Bắt đầu trò chơi.
‫Bây giờ nếu chúng ta nhấn phát, tôi sẽ thấy trò chơi bắt đầu ở trên cùng bên trái.
‫Vì vậy, chúng tôi biết rằng sự kiện có thể triển khai kế hoạch chi tiết của chúng tôi đang hoạt động.
‫Bây giờ, những gì chúng tôi muốn sự kiện này làm là hiển thị một tiện ích có chứa văn bản thông báo cho người chơi rằng trò chơi sắp
‫bắt đầu, có nghĩa là chúng tôi cần tạo một tiện ích để hiển thị.
‫Vì vậy, tôi sẽ tạo một thư mục mới trong thư mục bản thiết kế và tôi sẽ gọi các widget này và tôi sẽ nhấp
‫đúp vào các widget.
‫Và đây là nơi tôi sẽ tạo một bản thiết kế widget mới.
‫Bây giờ nếu tôi nhấp chuột phải và đi đến giao diện người dùng, đây là Bản thiết kế tiện ích.
‫Bây giờ nếu tôi nhấp vào đây, tôi sẽ tạo một bản thiết kế widget mới và tôi sẽ gọi đây là
‫W BP cho Widget Blueprint, gạch dưới tiện ích bắt đầu trò chơi.
‫Và nếu tôi nhấp đúp vào đây, thì tôi sẽ mở trình chỉnh sửa Widget Blueprint và bạn sẽ thấy
‫rằng nó trông hơi khác so với trình chỉnh sửa Blueprint mà chúng ta thường thấy.
‫Và đó là bởi vì đây là một widget.
‫Các widget rất tốt để hiển thị những thứ trên màn hình như văn bản.
‫Bây giờ có rất nhiều thứ ở đây và chúng tôi sẽ chỉ tạo một widget rất cơ bản hiển thị văn bản.
‫Có một số loại phần tử khác nhau mà chúng ta có thể thêm vào bản thiết kế tiện ích con
‫như đường viền, nút, hộp kiểm, hình ảnh, v.v.
‫Nhưng điều chúng tôi quan tâm là cái này ở đây có nội dung là Văn bản.
‫Bây giờ hãy nhìn xuống đây trong bảng phân cấp, bạn sẽ thấy rằng chúng tôi có tiện ích bắt đầu trò chơi WB tổng thể
‫ở trên cùng.
‫Và nếu chúng ta nhấp vào đó, chúng ta có thể thay đổi các thuộc tính cho widget này.
‫Bây giờ chúng ta có thể kéo các phần tử widget vào hệ thống phân cấp này.
‫Vì vậy, tôi sẽ tìm kiếm bảng màu cho bảng điều khiển canvas và kéo nó xuống hệ thống phân cấp của tôi.
‫Bây giờ một bảng điều khiển canvas cho phép chúng tôi đặt các phần tử widget và đặt chúng ở vị trí mong muốn trên màn hình
‫để chúng tôi có thể kéo một phần tử văn bản thẳng lên biểu đồ.
‫Và bạn sẽ thấy mục mới này trong bảng phân cấp trong bảng điều khiển canvas.
‫Và nó nói, Văn bản.
‫Khối văn bản.
‫Bây giờ, khối văn bản này trong dấu ngoặc kép là văn bản được đặt tự động cho tiện ích văn bản này.
‫Và ở đây trong bảng chi tiết, với tiện ích văn bản này được chọn bên dưới nội dung, chúng tôi thấy một thuộc tính văn bản
‫và nó được đặt thành khối văn bản.
‫Nhưng chúng tôi có thể đặt điều này thành bất kỳ văn bản nào chúng tôi muốn, chẳng hạn như chuẩn bị sẵn sàng.
‫Bây giờ, sau khi thiết lập cài đặt này để sẵn sàng, bạn sẽ thấy dòng chữ ở đây trên màn hình cho biết: Hãy sẵn sàng.
‫Vì vậy, trình chỉnh sửa Widget Blueprint cho phép chúng tôi tùy chỉnh thông báo widget của chúng tôi ở trên cùng bên trái của
‫màn hình, huy chương này ở đây, đây được gọi là mỏ neo.
‫Widget văn bản của chúng tôi được đặt trên màn hình so với mỏ neo.
‫Vì vậy, nếu kích thước màn hình thay đổi, khoảng cách từ mỏ neo đó sẽ không đổi.
‫Và chúng ta có thể thay đổi mỏ neo nếu chúng ta muốn.
‫Ví dụ: chúng ta có thể đặt tiện ích con văn bản của mình liên quan đến một mỏ neo ở giữa màn hình bằng
‫cách đi tới bảng chi tiết và dưới vị trí chúng ta thấy các mỏ neo.
‫Và nếu tôi nhấp vào menu thả xuống, tôi có thể chọn biểu tượng này có hình vuông ở giữa.
‫Nếu tôi chọn điều đó ngay bây giờ, mỏ neo sẽ nằm ở giữa màn hình và nếu tôi muốn tiện ích con
‫của mình được căn giữa hoàn toàn, tôi có thể thay đổi vị trí X và Y của nó tại đây trong danh mục vị trí để tôi có thể
‫đặt giá trị này thành 0 cho vị trí X và 0 cho vị trí Y và cuộn con lăn chuột của tôi để phóng to, bạn sẽ thấy
‫đó là góc trên bên trái như ở giữa màn hình.
‫Bây giờ trường căn chỉnh này ở đây có thể cho phép chúng ta căn giữa nó một cách hoàn hảo bằng cách chọn các giá trị bằng 0. 54 X và 0. 54 Y, và bây giờ
‫nó nằm hoàn toàn chính giữa màn hình.
‫Bây giờ đối với tiện ích trò chơi bắt đầu, có lẽ sẽ thích hợp để đặt văn bản này cao hơn một
‫chút.
‫Vì vậy, đối với Vị trí Y, tôi có thể nhấp và kéo vị trí này sang trái, điều này sẽ làm cho giá trị Y của vị trí đó
‫âm trong trình chỉnh sửa bản thiết kế tiện ích con trục y hướng xuống dưới.
‫Vì vậy, nếu chúng ta muốn nâng tiện ích văn bản của mình lên, chúng ta sẽ đặt vị trí y đó thành một giá trị thấp hơn.
‫Tôi sẽ đặt nó ở đây vào khoảng -300.
‫Bây giờ trong danh mục giao diện, tôi có thể thay đổi một số thuộc tính cho văn bản này.
‫Nếu tôi nhấp vào menu thả xuống cho phông chữ, tôi có thể thay đổi kích thước phông chữ để nói điều gì đó như 42.
‫Bây giờ cho kiểu chữ thay vì in đậm.
‫Tôi thích kiểu chữ thông thường.
‫Tôi nghĩ rằng nó có vẻ tốt hơn một chút bây giờ.
‫Lưu ý rằng văn bản widget văn bản của chúng ta lớn hơn hình chữ nhật màu xanh lá cây ở đây, nhưng chúng ta có thể thay đổi kích thước hình chữ nhật màu
‫xanh lá cây này.
‫Và khi tôi đang thay đổi hình chữ nhật, bạn sẽ thấy ở đây trong bảng chi tiết rằng kích thước X và kích thước y
‫đang thay đổi.
‫Bây giờ, hãy chú ý vị trí X đã di chuyển một chút kể từ khi tôi thay đổi nó.
‫Tôi có thể đưa nó trở lại 0 và vì căn chỉnh cho x là 0. 5, nó được căn giữa một cách hoàn hảo.
‫Vì vậy, bây giờ tôi có một tiện ích cho biết Hãy sẵn sàng.
‫Điều duy nhất cần làm là thêm cái này vào khung nhìn để chúng ta có thể nhìn thấy nó trên màn hình.
‫Bạn sẽ nhận thấy rằng nếu tôi nhấn play và bắt đầu chơi trò chơi mà tôi không thấy tiện ích đó trên màn hình.
‫Đó là bởi vì chúng tôi phải chủ động thêm tiện ích này vào màn hình và đó là lý do tại sao chúng tôi tạo sự
‫kiện có thể triển khai kế hoạch chi tiết này trong chế độ trò chơi để chúng tôi có thể thêm tiện ích này vào màn hình tại đây.
‫Vì vậy, chúng ta hãy nói về cách làm điều đó.
‫Hiện nay.
‫Cách tạo tiện ích con từ các bản thiết kế là sử dụng nút tạo tiện ích con.
‫Bạn có thể nhấp chuột phải vào biểu đồ sự kiện cho bất kỳ kế hoạch chi tiết nào và bắt đầu nhập tên của một
‫nút rồi chọn nút cụ thể đó.
‫Nút chúng ta cần là tạo widget.
‫Bây giờ bạn sẽ thấy nó có nội dung Create Coolness Widget.
‫Và đó là bởi vì ngay sau khi tôi thêm nút Tạo tiện ích con, tôi đã chọn lớp Kế hoạch chi tiết tiện ích ở
‫đây trong trình đơn thả xuống của lớp.
‫Điều này là cần thiết để Unreal Engine biết lớp widget nào cần tạo.
‫Bây giờ, sau khi sử dụng nút tạo tiện ích con, chúng ta sử dụng nút thêm vào chế độ xem để thực sự thêm tiện ích này vào
‫chế độ xem và sau đó chúng ta có thể thấy nó trên màn hình trong trò chơi.
‫Lưu ý rằng các dây thực thi được kết nối và nút tạo tiện ích con trả về đầu ra màu xanh lam này và đầu ra
‫này phải được kết nối với đầu vào đích trong phần thêm vào chế độ xem vì thêm vào chế độ xem cần
‫biết tiện ích con nào cần thêm vào chế độ xem và nút tạo tiện ích con trả về giá trị của tiện ích con đó.
‫Vì vậy, bây giờ bạn đã biết cách tạo một tiện ích con trong bản thiết kế, bạn sẽ đi vào lớp chế độ
‫chơi xe tăng điều chỉnh BP và sử dụng nút tạo tiện ích con.
‫Bạn sẽ kết nối điều này từ chuỗi thực thi sự kiện có thể triển khai trong bản thiết kế của chúng tôi.
‫Chúng tôi đã gọi là Bắt đầu trò chơi.
‫Bây giờ trong nút Create Widget, chúng ta cần chọn lớp widget để tạo, vì vậy hãy chọn WB start game widget, bản thiết
‫kế widget mới mà chúng ta vừa tạo và sau đó sử dụng nút add to viewport để thực sự thêm
‫widget mới này vào khung nhìn và móc. lên dây thực hiện.
‫Và đừng quên nối giá trị trả về từ tạo tiện ích con đến đầu vào đích trong thêm vào chế độ xem.
‫Vì vậy, hãy tạm dừng video và thêm các nút này vào bản thiết kế chế độ trò chơi của xe tăng điều chỉnh ngay bây giờ.
‫Vì vậy, tôi đang ở đây trong điều chỉnh Bản thiết kế chế độ trò chơi Tanks và tôi sẽ nhấp chuột phải và nhập
‫tạo tiện ích và chọn Nút tạo tiện ích.
‫Bây giờ hãy để ý nó cho biết Construct None.
‫Và đó là bởi vì nó sẽ nói điều đó cho đến khi chúng ta chọn lớp tiện ích con thích hợp trong trình đơn thả
‫xuống của lớp.
‫Nhưng trước khi làm điều đó, tôi sẽ nối dây thực thi từ các sự kiện bắt đầu trò chơi.
‫Vì vậy, chúng tôi thực sự nhận được chức năng này được thực thi ngay sau khi trò chơi bắt đầu sự kiện có thể triển khai bản thiết kế
‫của chúng tôi được gọi từ C ++.
‫Bây giờ đối với menu thả xuống của lớp, tôi sẽ chọn WP Start Game Widget và bây giờ tiêu đề của Node
‫sẽ thay đổi thành Create WP Start Game Widget Widget.
‫Vì vậy, bây giờ chúng ta có thể thấy rằng đây là một nút tạo widget.
‫Bây giờ tôi sẽ nhấp vào dây thực thi và kéo ra và sau đó nhập thêm vào khung nhìn.
‫Và sau đó nếu tôi chọn thêm vào chế độ xem, thì các dây thực thi sẽ tự động được kết nối
‫cho tôi, nhưng nó không kết nối giá trị trả về từ tiện ích tạo với đầu vào đích cho thêm vào chế độ xem.
‫Vì vậy, tôi cần phải tự mình nhấp và kéo nó.
‫Vì vậy, bây giờ khi Start Game được gọi từ C ++ và lớp chế độ trò chơi, chúng tôi sẽ thực thi logic kế hoạch
‫chi tiết này, điều này sẽ dẫn đến việc tạo một tiện ích mới dựa trên tiện ích WP Start Game và sau đó chúng tôi sẽ thêm
‫nó vào khung nhìn.
‫Vì vậy, tôi sẽ nhấp vào phát và có tiện ích Chuẩn bị sẵn sàng.
‫Bây giờ chúng tôi đã đề cập rằng điều này sẽ hiển thị đồng hồ đếm ngược, nhưng chúng tôi chưa triển khai chức
‫năng đó, vì vậy nó sẽ sớm ra mắt.
‫Vì vậy, tóm lại, chúng tôi đã tạo Kế hoạch chi tiết về tiện ích trò chơi bắt đầu và bây giờ nó chỉ có văn bản trên đó cho biết
‫Hãy sẵn sàng.
‫Chúng tôi cũng đã sử dụng nút tạo tiện ích con và nút thêm vào chế độ xem để thêm tiện ích này vào chế độ xem để chúng ta
‫có thể thấy nó ngay khi trò chơi bắt đầu.
‫Và chúng tôi đã bắt đầu chức năng này bằng cách sử dụng sự kiện có thể triển khai kế hoạch chi tiết của chúng tôi mà chúng
‫tôi đã tạo trong lớp C ++ ở chế độ trò chơi có tên Start Game trong các video tới, chúng tôi sẽ thay đổi văn bản trong tiện
‫ích này trong thời gian chạy để nó hiển thị thời gian còn lại vào bộ đếm thời gian bắt đầu trò chơi đó để người chơi biết phải
‫đợi bao lâu trước khi họ có thể bắt đầu thực sự chơi trò chơi.
‫Tôi sẽ gặp bạn sớm.