‫เฮ้ ยินดีต้อนรับกลับมา
‫ในวิดีโอนี้ เราจะพยายามแสดงข้อความบนหน้าจอเพื่อแจ้งให้เราทราบว่าเกมกำลังเริ่มต้น
‫และนี่คือขั้นตอนแรกในการแสดงตัวนับเวลาถอยหลังเพื่อให้ผู้เล่นรู้ว่าเกมยังไม่เริ่มแต่มันจะเริ่มในไม่ช้า
‫ตอนนี้ จะเกี่ยวข้องกับเหตุการณ์ที่พิมพ์เขียวได้
‫Blueprint Implementable Event คือฟังก์ชัน C++ ที่เราเรียกใช้ได้จาก C++ แต่จริงๆ แล้วเราใช้ฟังก์ชันนี้ในฝั่งพิมพ์เขียว
‫ดังนั้น เราอาจมีคลาส C++ ของเรา เช่น โหมดเกม และเราสามารถมีฟังก์ชันที่ทำเครื่องหมายเป็นพิมพ์เขียว เหตุการณ์ที่นำไปใช้ได้
‫และจากนั้นเราสามารถนำพฤติกรรมนั้นไปใช้ในพิมพ์เขียว
‫ดังนั้น เมื่อเราเรียกใช้ฟังก์ชัน C++ ที่ทำเครื่องหมายว่าเป็นเหตุการณ์ที่สามารถนำไปปฏิบัติได้ในพิมพ์เขียว เหตุการณ์ในพิมพ์เขียวจะถูกไล่ออก
‫และตรรกะพิมพ์เขียวใดๆ ที่เราเชื่อมต่อกับเหตุการณ์นั้นในพิมพ์เขียวจะถูกเรียก
‫ดังนั้น ฉันจะสร้างฟังก์ชันเหตุการณ์ที่พิมพ์เขียวได้ ที่นี่ในการปรับแต่งรถถัง โหมดเกม และเหตุการณ์ที่ปรับใช้พิมพ์เขียวไม่สามารถเป็นแบบส่วนตัวได้
‫ดังนั้นฉันจะเพิ่มสิ่งนี้ในส่วนที่ได้รับการป้องกัน
‫ตอนนี้ฉันจะทำให้ฟังก์ชันนี้เป็นโมฆะ และฉันจะเรียกเกมนี้ว่าเริ่มเกม
‫ตอนนี้ ในการทำให้เหตุการณ์นี้เป็นเหตุการณ์ที่พิมพ์เขียวได้ ฉันต้องให้มาโครฟังก์ชัน U กับฟังก์ชัน
‫U
‫ระบุพิมพ์เขียวเหตุการณ์ที่นำไปใช้ได้
‫ตอนนี้ เมื่อเราทำเครื่องหมายเหตุการณ์ที่สามารถนำไปใช้พิมพ์เขียวได้ เราไม่จำเป็นต้องให้เนื้อความของฟังก์ชันที่นี่ใน
‫C++
‫Unreal Engine คาดหวังให้เรานำฟังก์ชันนี้ไปใช้ในพิมพ์เขียว แต่เราสามารถเรียกได้จาก
‫C++ และนั่นคือสิ่งที่เราจะทำใน Handle Game Start
‫หลังจากที่เราตั้งค่าแทงค์และตัวแปรคอนโทรลเลอร์ของผู้เล่นแล้ว ฉันจะเรียก start game และตอนนี้เราสามารถรวบรวมสิ่งนี้ได้
‫และย้อนกลับไปที่นี่ในโปรแกรมแก้ไข ฉันจะเปิดโหมดเกมปรับแต่งรถถัง BP และนี่คือที่ที่เราสามารถใช้ฟังก์ชันนี้ได้
‫ดังนั้นหากเราคลิกขวาและพิมพ์ start game นี่คือเกมเริ่มต้นของเหตุการณ์ที่สร้างขึ้นทันทีที่เราประกาศฟังก์ชันและให้มาโครฟังก์ชันพร้อมกับเหตุการณ์ที่พิมพ์เขียวได้
‫ในด้าน C++ เรากำลังเรียกสิ่งนี้ และในพิมพ์เขียว เหตุการณ์นี้กำลังตอบสนองต่อมัน
‫เราสามารถทดสอบสิ่งนี้ด้วยโหนดสตริงการพิมพ์อย่างง่าย และสำหรับสตริงนั้น เราสามารถพูดได้ว่าเริ่มเกม
‫ตอนนี้ถ้าเรากดเล่น ฉันจะเห็นเริ่มเกมที่ด้านบนซ้าย
‫เราจึงทราบดีว่างานพิมพ์เขียวของเราใช้งานได้จริง
‫ตอนนี้ สิ่งที่เราต้องการให้กิจกรรมนี้ทำคือการแสดงวิดเจ็ตที่มีข้อความแจ้งผู้เล่นว่าเกมกำลังจะเริ่มต้น
‫ซึ่งหมายความว่าเราจำเป็นต้องสร้างวิดเจ็ตเพื่อแสดง
‫ดังนั้น ฉันจะสร้างโฟลเดอร์ใหม่ในโฟลเดอร์พิมพ์เขียว และฉันจะเรียกวิดเจ็ตนี้ และฉันจะดับเบิลคลิกวิดเจ็ต
‫และนี่คือที่ที่ฉันจะสร้างพิมพ์เขียววิดเจ็ตใหม่
‫ตอนนี้ถ้าฉันคลิกขวาและไปที่ส่วนต่อประสานผู้ใช้ นี่คือ Widget Blueprint
‫ถ้าฉันคลิกที่นี่ ฉันจะสร้างพิมพ์เขียววิดเจ็ตใหม่และฉันจะเรียก W BP สำหรับ
‫Widget Blueprint ขีดเส้นใต้วิดเจ็ตเริ่มเกม
‫และหากฉันดับเบิลคลิกสิ่งนี้ ฉันจะเปิดตัวแก้ไข Widget Blueprint และคุณจะเห็นว่ามันค่อนข้างแตกต่างไปจากตัวแก้ไข
‫Blueprint ที่เราเคยเห็น
‫และนั่นเป็นเพราะว่านี่สำหรับวิดเจ็ต
‫วิดเจ็ตเป็นสิ่งที่ดีสำหรับการแสดงสิ่งต่างๆ บนหน้าจอ เช่น ข้อความ
‫ตอนนี้มีหลายอย่างที่นี่ และเรากำลังจะสร้างวิดเจ็ตพื้นฐานที่แสดงข้อความเท่านั้น
‫มีองค์ประกอบหลายประเภทที่เราสามารถเพิ่มลงในพิมพ์เขียววิดเจ็ตได้ เช่น เส้นขอบ
‫ปุ่ม ช่องทำเครื่องหมาย รูปภาพ และอื่นๆ
‫แต่สิ่งที่เราสนใจคืออันนี้ที่เขียนว่า Text
‫ตอนนี้ดูที่นี่ในแผงลำดับชั้น คุณจะเห็นว่าเรามีวิดเจ็ตเกมเริ่มต้น WB โดยรวมที่ด้านบน
‫และถ้าเราคลิกบนนั้น เราก็สามารถเปลี่ยนคุณสมบัติของวิดเจ็ตนี้ได้
‫ตอนนี้ เราสามารถลากองค์ประกอบวิดเจ็ตไปยังลำดับชั้นนี้ได้
‫ดังนั้นฉันจะค้นหาจานสีสำหรับแผงผ้าใบและลากมันลงไปในลำดับชั้นของฉัน
‫ตอนนี้แผงผ้าใบช่วยให้เราสามารถวางองค์ประกอบวิดเจ็ตและตั้งค่าไว้ที่ตำแหน่งที่ต้องการบนหน้าจอ เพื่อให้เราสามารถลากองค์ประกอบข้อความลงบนกราฟได้โดยตรง
‫และคุณจะเห็นรายการใหม่นี้ในลำดับชั้นภายใต้แผงผ้าใบ
‫และมันบอกว่าข้อความ
‫บล็อกข้อความ
‫ตอนนี้ บล็อกข้อความในเครื่องหมายคำพูดเป็นข้อความที่ตั้งค่าโดยอัตโนมัติสำหรับวิดเจ็ตข้อความนี้
‫และที่นี่ในแผงรายละเอียด เมื่อเลือกวิดเจ็ตข้อความนี้ภายใต้เนื้อหา เราจะเห็นคุณสมบัติข้อความและตั้งค่าเป็นบล็อกข้อความ
‫แต่เราสามารถตั้งค่านี้เป็นข้อความใดก็ได้ที่เราต้องการ เช่น เตรียมพร้อม
‫หลังจากตั้งค่านี้เพื่อเตรียมพร้อม คุณจะเห็นข้อความบนหน้าจอว่า Get ready
‫ดังนั้นตัวแก้ไข Widget Blueprint จึงอนุญาตให้เราปรับแต่งการแจ้งเตือนวิดเจ็ตของเราที่ด้านบนซ้ายของหน้าจอ
‫สิ่งที่เป็นเหรียญนี้ นี่เรียกว่าสมอ
‫วิดเจ็ตข้อความของเราวางอยู่บนหน้าจอโดยสัมพันธ์กับจุดยึด
‫ดังนั้นหากขนาดหน้าจอเปลี่ยนไป ระยะห่างจากจุดยึดนั้นจะคงที่
‫และเราสามารถเปลี่ยนสมอได้ถ้าต้องการ
‫ตัวอย่างเช่น เราสามารถตั้งค่าวิดเจ็ตข้อความให้สัมพันธ์กับจุดยึดที่อยู่ตรงกลางหน้าจอโดยไปที่แผงรายละเอียดและใต้ช่องที่เราเห็นจุดยึด
‫และหากฉันคลิกรายการแบบเลื่อนลง ฉันสามารถเลือกไอคอนนี้ซึ่งมีสี่เหลี่ยมจัตุรัสอยู่ตรงกลาง
‫หากฉันเลือกตอนนี้ สมอจะอยู่ที่กึ่งกลางของหน้าจอ และหากฉันต้องการให้วิดเจ็ตอยู่ตรงกลางอย่างสมบูรณ์
‫ฉันสามารถเปลี่ยนตำแหน่ง X และ Y ได้ที่นี่ภายใต้หมวดหมู่สล็อต เพื่อให้ฉันสามารถตั้งค่านี้เป็นศูนย์สำหรับตำแหน่ง
‫X และศูนย์ สำหรับตำแหน่ง Y และเลื่อนด้วยล้อเลื่อนของเมาส์เพื่อซูมเข้า คุณจะเห็นว่ามุมบนซ้ายเหมือนกับตรงกลางหน้าจอ
‫ตอนนี้ ฟิลด์การจัดตำแหน่งที่นี่สามารถทำให้เราจัดตำแหน่งได้อย่างสมบูรณ์โดยเลือกค่า 0 54 X และ 0 54 Y และตอนนี้ก็อยู่ตรงกลางหน้าจอพอดี
‫สำหรับวิดเจ็ตเริ่มเกม อาจเป็นการเหมาะสมที่จะใส่ข้อความนี้ให้สูงขึ้นเล็กน้อย
‫ดังนั้นสำหรับตำแหน่ง Y ฉันสามารถคลิกและลากสิ่งนี้ไปทางซ้าย ซึ่งจะทำให้ค่าของตำแหน่ง
‫Y เป็นลบในตัวแก้ไขพิมพ์เขียววิดเจ็ต แกน y จะชี้ลง
‫ดังนั้นถ้าเราต้องการเพิ่มวิดเจ็ตข้อความ เราจะทำให้ตำแหน่ง y เป็นค่าที่ต่ำลง
‫ผมจะวางมันไว้บนนี้ที่ประมาณ -300
‫ตอนนี้ในหมวดลักษณะที่ปรากฏ ฉันสามารถเปลี่ยนคุณสมบัติหลายอย่างสำหรับข้อความนี้ได้
‫ถ้าฉันคลิกดรอปดาวน์ของฟอนต์ ฉันจะเปลี่ยนขนาดฟอนต์เป็น 42 ได้
‫ตอนนี้ใช้แบบอักษรแทนตัวหนา
‫ฉันชอบแบบอักษรปกติ
‫ฉันคิดว่ามันดูดีขึ้นนิดหน่อยตอนนี้
‫โปรดสังเกตว่าข้อความวิดเจ็ตข้อความมีขนาดใหญ่กว่าสี่เหลี่ยมสีเขียวที่นี่ แต่เราสามารถปรับขนาดสี่เหลี่ยมสีเขียวนี้ได้
‫และในขณะที่ฉันกำลังเปลี่ยนสี่เหลี่ยมผืนผ้า คุณจะเห็นที่นี่ในแผงรายละเอียดที่ขนาด X และขนาด y กำลังเปลี่ยนแปลง
‫ตอนนี้สังเกตว่าตำแหน่ง X ขยับเล็กน้อยตั้งแต่ฉันเปลี่ยนมัน
‫ฉันสามารถใส่มันกลับเป็นศูนย์และเนื่องจากการจัดตำแหน่งสำหรับ x เป็น 0 5 มันอยู่ตรงกลางอย่างสมบูรณ์
‫ตอนนี้ฉันมีวิดเจ็ตที่ระบุว่าเตรียมตัวให้พร้อม
‫สิ่งเดียวที่ต้องทำคือเพิ่มสิ่งนี้ลงในวิวพอร์ตเพื่อให้เราเห็นบนหน้าจอ
‫คุณจะสังเกตเห็นว่าถ้าฉันกดเล่นและเริ่มเล่นเกมที่ฉันไม่เห็นวิดเจ็ตนั้นบนหน้าจอ
‫นั่นเป็นเพราะว่าเราต้องเพิ่มสิ่งนี้ลงในหน้าจออย่างแข็งขัน และนั่นเป็นเหตุผลที่เราสร้างเหตุการณ์ที่ปรับใช้พิมพ์เขียวนี้ในโหมดเกม
‫เพื่อให้เราสามารถเพิ่มวิดเจ็ตนี้ลงในหน้าจอได้ที่นี่
‫เรามาพูดถึงวิธีการทำกัน
‫ตอนนี้.
‫วิธีสร้างวิดเจ็ตจากพิมพ์เขียวคือการใช้โหนดสร้างวิดเจ็ต
‫คุณสามารถคลิกขวาในกราฟเหตุการณ์สำหรับพิมพ์เขียวใดๆ และเริ่มพิมพ์ชื่อของโหนด
‫จากนั้นเลือกโหนดนั้น ๆ
‫โหนดที่เราต้องการคือสร้างวิดเจ็ต
‫ตอนนี้คุณจะเห็นว่า Create Coolness Widget
‫และนั่นเป็นเพราะทันทีที่ฉันเพิ่มโหนด Create Widget ฉันเลือกคลาส Widget Blueprint ที่นี่ในรายการดรอปดาวน์ของชั้นเรียน
‫นี่เป็นสิ่งจำเป็นเพื่อให้ Unreal Engine รู้ว่าจะสร้างคลาสวิดเจ็ตใด
‫ตอนนี้ หลังจากใช้โหนดสร้างวิดเจ็ตแล้ว เราใช้โหนด add to viewport เพื่อเพิ่มวิดเจ็ตนี้ในวิวพอร์ต
‫และจากนั้นเราจะเห็นมันบนหน้าจอในเกม
‫ขอให้สังเกตว่ามีการเชื่อมต่อสายการดำเนินการและโหนดสร้างวิดเจ็ตส่งคืนเอาต์พุตสีน้ำเงินนี้และควรเชื่อมต่อกับอินพุตเป้าหมายในการเพิ่มไปยังวิวพอร์ตเนื่องจากการเพิ่มในวิวพอร์ตจำเป็นต้องรู้ว่าวิดเจ็ตใดที่จะเพิ่มในวิวพอร์ตและสร้างโหนดวิดเจ็ต
‫ส่งคืนค่าของวิดเจ็ตนั้น
‫เมื่อคุณรู้วิธีสร้างวิดเจ็ตในแบบพิมพ์เขียวแล้ว คุณจะเข้าสู่คลาสโหมดเกมปรับแต่งรถถัง
‫BP และใช้โหนดสร้างวิดเจ็ต
‫คุณจะเชื่อมโยงสิ่งนี้จากการพิมพ์เขียวการดำเนินการเหตุการณ์ที่นำไปใช้ได้ของเรา
‫เราเรียกว่าเริ่มเกม
‫ตอนนี้ในโหนด Create Widget เราจำเป็นต้องเลือกคลาสวิดเจ็ตเพื่อสร้างเพื่อเลือก WB start game widget พิมพ์เขียววิดเจ็ตใหม่ที่เราเพิ่งสร้างขึ้น
‫และจากนั้นใช้ add to viewport node เพื่อเพิ่มวิดเจ็ตใหม่นี้ใน viewport และ hook ขึ้นสายการดำเนินการ
‫และอย่าลืมเชื่อมต่อค่าส่งคืนจากเครื่องมือสร้างไปยังอินพุตเป้าหมายในการเพิ่มไปยังวิวพอร์ต
‫ดังนั้นหยุดวิดีโอชั่วคราวและเพิ่มโหนดเหล่านี้ลงในพิมพ์เขียวโหมดเกมของรถถังปรับแต่งทันที
‫ดังนั้นฉันอยู่ที่นี่ในการปรับแต่ง Tanks Game Mode Blueprint และฉันจะคลิกขวาแล้วพิมพ์ create
‫widget แล้วเลือก Create Widget Node
‫ตอนนี้สังเกตว่ามันบอกว่าสร้างไม่มี
‫และนั่นเป็นเพราะมันจะบอกว่าจนกว่าเราจะเลือกคลาสวิดเจ็ตที่เหมาะสมในรายการดรอปดาวน์ของคลาส
‫แต่ก่อนที่ฉันจะทำอย่างนั้น ฉันจะเชื่อมต่อสายการดำเนินการจากเหตุการณ์เริ่มเกม
‫ดังนั้นเราจึงได้ใช้ฟังก์ชันนี้ทันทีที่มีการเรียกเกมเริ่มต้นเหตุการณ์ที่นำไปใช้ได้พิมพ์เขียวจาก
‫C ++
‫ตอนนี้สำหรับคลาสดร็อปดาวน์ ฉันจะเลือก WP Start Game Widget และตอนนี้การเปลี่ยนชื่อโหนดเป็น
‫Create WP Start Game Widget Widget
‫ตอนนี้เราจะเห็นได้ว่านี่คือโหนดการสร้างวิดเจ็ต
‫ตอนนี้ฉันกำลังจะคลิกที่เส้นดำเนินการแล้วลากออกแล้วพิมพ์เพิ่มไปยังวิวพอร์ต
‫จากนั้นหากฉันเลือกเพิ่มในวิวพอร์ต สายการดำเนินการจะเชื่อมต่อโดยอัตโนมัติสำหรับฉัน แต่จะไม่เชื่อมต่อค่าที่ส่งคืนจากเครื่องมือสร้างไปยังอินพุตเป้าหมายเพื่อเพิ่มไปยังวิวพอร์ต
‫เลยต้องคลิกแล้วลากเอง
‫ดังนั้นเมื่อเริ่มเกมถูกเรียกจาก C++ และคลาสโหมดเกม เราจะดำเนินการตรรกะพิมพ์เขียวนี้
‫ซึ่งจะส่งผลให้มีการสร้างวิดเจ็ตใหม่ตามวิดเจ็ต WP Start Game จากนั้นเราจะเพิ่มลงในวิวพอร์ต
‫ฉันจะคลิกเล่นและมีวิดเจ็ต Get Ready
‫ตอนนี้เราพูดถึงว่านี่จะแสดงตัวจับเวลาถอยหลัง แต่เรายังไม่ได้ใช้งานฟังก์ชันนั้น
‫ดังนั้นในเร็วๆ นี้
‫โดยสรุปแล้ว เราได้สร้าง Start Game Widget Blueprint และตอนนี้ก็มีข้อความว่า
‫Get ready
‫นอกจากนี้เรายังใช้โหนดสร้างวิดเจ็ตและเพิ่มโหนดวิวพอร์ตเพื่อเพิ่มวิดเจ็ตนี้ในวิวพอร์ตเพื่อให้เราเห็นได้ทันทีที่เกมเริ่มต้น
‫และเราเริ่มต้นการทำงานนี้โดยใช้เหตุการณ์ที่พิมพ์เขียวได้ซึ่งเราสร้างในโหมดเกม
‫C++ คลาสที่เรียกว่า "เริ่มเกม" ในวิดีโอที่จะมาถึง เราจะเปลี่ยนข้อความในวิดเจ็ตนี้ตอนรันไทม์เพื่อแสดงเวลาที่เหลือ
‫ในการเริ่มเกมนั้นเพื่อให้ผู้เล่นรู้ว่าต้องรอนานแค่ไหนก่อนที่จะเริ่มเล่นเกมได้จริง
‫เจอกันเร็วๆนี้ครับ