‫สวัสดีและยินดีต้อนรับกลับ
‫ตอนนี้ เราได้สร้างความสามารถในการจัดการกับความตายของรถถังและหอคอยแล้ว และเราเห็นว่าสิ่งนี้เกี่ยวข้องกับขั้นตอนพิเศษบางอย่างกับรถถังของเรา
‫เนื่องจากเราเข้าถึงตัวควบคุมของผู้เล่นเพื่อปิดการใช้งานอินพุตและปิดการแสดงเคอร์เซอร์ของเมาส์
‫ตอนนี้ เราต้องการมีคลาสคอนโทรลเลอร์สำหรับผู้เล่นแบบกำหนดเอง เพื่อให้เราสามารถเพิ่มฟังก์ชันการทำงานที่จะจัดการกับสิ่งนี้ให้เราได้
‫จากนั้นเราต้องการสร้างพิมพ์เขียวตามคลาสนี้ เพื่อให้เราสามารถเข้าถึงตัวแปรบางส่วนที่เปิดเผยบนคอนโทรลเลอร์ของโปรแกรมเล่น
‫เช่น เคอร์เซอร์ของเมาส์ที่จะแสดงเมื่อเราเริ่มแสดงเคอร์เซอร์ของเมาส์จริงๆ
‫ดังนั้น เราจะสร้างคลาสคอนโทรลเลอร์ของผู้เล่น และเพิ่มฟังก์ชันการเปิดใช้งานและปิดใช้งานอินพุต
‫จากนั้นเราจะสร้างพิมพ์เขียวและกำหนดประเภทเคอร์เซอร์ของเมาส์เป็นพิมพ์เขียว
‫การสร้างคลาสนี้เป็นสิ่งที่คุณรู้แล้วว่าต้องทำอย่างไร
‫ดังนั้น คุณจะต้องสร้างคลาสตัวควบคุมผู้เล่นสำหรับความท้าทายของคุณ สร้างคลาส C++ ใหม่ และเลือกตัวควบคุมผู้เล่นเป็นคลาสหลัก
‫เรียกรถถังปรับแต่งตัวควบคุมผู้เล่นหรือสิ่งที่เหมาะสมเช่นนั้น
‫และเมื่อเสร็จแล้ว ให้สร้างพิมพ์เขียวตามชั้นเรียนนี้
‫ตอนนี้ เมื่อคุณมีพิมพ์เขียวแล้ว คุณสามารถกำหนดให้สิ่งนี้เป็นตัวควบคุมเริ่มต้นของผู้เล่นในพิมพ์เขียวโหมดเกมได้
‫ทำสิ่งนี้ในโหมดเกม พิมพ์เขียวเอง
‫หยุดวิดีโอชั่วคราวและสร้างคลาสตัวควบคุมผู้เล่นสำหรับรถถังตอนนี้
‫ตกลง.
‫ดังนั้นฉันกลับมาที่บรรณาธิการ
‫ฉันจะคลิกขวาที่คลาส C ++ ใหม่และเลื่อนลงมาและฉันจะเห็นว่าตัวควบคุมผู้เล่นเป็นตัวเลือกที่นี่
‫ดังนั้นฉันจะเลือกตัวควบคุมผู้เล่นและตั้งชื่อรถถังควบคุมผู้เล่นใหม่ของฉัน
‫ผู้เล่น ผู้ควบคุม และคลิกสร้างคลาส
‫และที่นี่ฉันมีคลาสตัวควบคุมผู้เล่นใหม่ของฉัน
‫ตอนนี้ขั้นตอนต่อไปคือการสร้างพิมพ์เขียวตามนี้
‫ฉันจึงกลับมาที่บรรณาธิการและไม่ได้บอกให้คุณทำเช่นนี้ แต่ฉันจะสร้างโฟลเดอร์ใหม่ที่นี่ในโฟลเดอร์พิมพ์เขียวของฉันที่ชื่อ
‫Player Controller
‫และถ้าคุณต้องการโครงสร้างโฟลเดอร์เดียวกัน คุณสามารถสร้างโฟลเดอร์นี้ได้ในตอนนี้ ถ้าคุณยังไม่ได้ทำ
‫จากนั้นย้ายพิมพ์เขียวตัวควบคุมโปรแกรมเล่นของคุณไปไว้ในโฟลเดอร์นี้
‫หากคุณไม่ทราบวิธีย้ายพิมพ์เขียวจากโฟลเดอร์หนึ่งไปยังอีกโฟลเดอร์หนึ่ง มันค่อนข้างง่าย
‫คุณไปที่โฟลเดอร์ที่มีพิมพ์เขียว คลิกและลากไปยังโฟลเดอร์ที่ถูกต้องแล้วคลิกย้ายที่นี่
‫ตอนนี้ ฉันไม่ต้องการย้ายโปรเจ็กไทล์ของฉันไปที่โฟลเดอร์นี้ ดังนั้นฉันจะคลิกที่นี่ในเบราว์เซอร์เนื้อหาเพื่อยกเลิกการกระทำนั้น
‫ตอนนี้ฉันมีโฟลเดอร์ตัวควบคุมผู้เล่นแล้ว
‫ฉันจะคลิกขวาแล้วคลิกคลาส Blueprint และในการค้นหานี้ ฉันจะมองหารถถัง toon ผู้ควบคุมผู้เล่น
‫และเลือกคลาสนั้นแล้วคลิกเลือก
‫ตอนนี้ฉันสามารถเรียกมันว่า beep underscore toon tanks player controller
‫ดังนั้นตอนนี้ฉันมีตัวควบคุมผู้เล่น
‫ตอนนี้ฉันต้องตั้งค่านี้เป็นตัวควบคุมเครื่องเล่นเริ่มต้น
‫ฉันจะไปที่โฟลเดอร์โหมดเกม เปิดเสียงบี๊บ ปรับแต่งรถถัง โหมดเกม และเปิดพิมพ์เขียวฉบับเต็ม
‫บรรณาธิการ และที่นี่ฉันเห็นคลาสตัวควบคุมผู้เล่น
‫ฉันจะคลิกเมนูดร็อปดาวน์และเลือกรถถังปรับแต่ง BP ผู้ควบคุมผู้เล่นและรวบรวมและบันทึกและปิด
‫ตอนนี้เรามีคลาสตัวควบคุมผู้เล่นแบบกำหนดเองแล้ว
‫เราพร้อมที่จะเพิ่มฟังก์ชันการทำงานบางอย่างให้กับสิ่งนี้
‫สิ่งที่ฉันต้องการคือฟังก์ชันที่นี่ที่สามารถตั้งค่าสถานะเปิดใช้งานผู้เล่นได้ ไม่ว่าผู้เล่นจะเปิดใช้งานเพื่อเพิ่มอินพุตที่จะย้ายรถถังหรือไม่ก็ตาม
‫ตอนนี้ฉันวางแผนที่จะเรียกสิ่งนี้จากโหมดเกมเมื่อนักแสดงเสียชีวิต
‫ฉันกำลังจะสร้างส่วนสาธารณะที่นี่ และฟังก์ชันจะเป็นโมฆะ
‫และฉันแค่จะเรียกสถานะเปิดใช้งานเครื่องเล่นชุดนี้ ซึ่งสามารถใช้บูลีนที่เรียกว่าเครื่องเล่น
‫B ได้
‫ด้วยวิธีนี้ หากเราเรียกฟังก์ชันนี้ เราสามารถส่งต่อค่า true ได้หากต้องการให้โปรแกรมเล่นถูกเปิดใช้งาน
‫หรือ false หากเราต้องการปิดใช้งาน
‫ลองใช้ฟังก์ชันนี้ในการปรับแต่งรถถัง ผู้เล่น ผู้ควบคุม
‫CP ดังนั้นนี่คือหน้าที่ของฉัน และแน่นอนว่าฉันต้องการชื่อคลาสที่นี่
‫ดังนั้นมันจะเป็นรถถังปรับแต่ง ผู้เล่น ผู้ควบคุม และมีตัวดำเนินการความละเอียดขอบเขต
‫ตอนนี้ ฟังก์ชันนี้จะค่อนข้างง่าย
‫มันจะตรวจสอบค่าของเครื่องเล่น B ที่เปิดใช้งานและเราสามารถทำได้โดยง่ายหากตรวจสอบ
‫ดังนั้นฉันจะบอกว่าถ้าผู้เล่น B เปิดใช้งานและฉันต้องการเข้าถึงการจำนำและเปิดใช้งานหรือปิดใช้งานการป้อนข้อมูลและวิธีการเข้าถึงการจำนำที่ตัวควบคุมผู้เล่นนี้ครอบครองคือการใช้ฟังก์ชั่นรับจำนำ
‫ผลตอบแทนนี้และการจำนำและคลาสการจำนำมีฟังก์ชัน
‫เปิดใช้งานอินพุตและเปิดใช้งานอินพุตตามที่เราเห็นต้องใช้คอนโทรลเลอร์ของผู้เล่นเพื่อให้เราสามารถผ่านสิ่งนี้ได้
‫ตอนนี้ฉันได้รับ squiggles สีแดงเพราะเราจำเป็นต้องรวมประเภทคลาส pawn นั้นและเราสามารถเห็นการรวมสำหรับ
‫pawn โดยไปที่เอกสาร unreal engine สำหรับ pawn หรือเราเพียงแค่ไปที่คลาส pawn พื้นฐานของเราซึ่ง
‫สืบทอดมาจากจำนำ
‫และเนื่องจากมันสืบทอดมาจากโรงรับจำนำ เราจึงเห็นว่าจำเป็นต้องรวมส่วนหัวของโรงรับจำนำไว้ที่นั่นด้วย
‫เพื่อที่ฉันจะได้คัดลอกที่รวมเฟรมเวิร์กของเกม เครื่องหมายทับ
‫ดังนั้นกลับมาในการปรับแต่งตัวควบคุมผู้เล่นรถถัง
‫ฉันสามารถวางที่รวมไว้ที่นี่ที่ด้านบนเพื่อกำจัด squiggles สีแดงเหล่านั้น
‫ดังนั้นสิ่งนี้จะดูแลกรณีที่เปิดใช้งานเครื่องเล่น B เป็นจริง แต่เราต้องการเคส LS ที่นี่ด้วย
‫ในกรณีของ LS เราจะเรียก get pawn และมีฟังก์ชันที่เหมือนกับ enable input ที่ออกแบบมาเพื่อปิดการใช้งาน
‫input และถูกเรียก อย่างที่คุณอาจเดาได้ว่า ปิดการใช้งาน input
‫และสิ่งนี้ยังต้องการตัวควบคุมผู้เล่นซึ่งเราจะผ่านในสิ่งนี้
‫ตอนนี้ตัวควบคุมเครื่องเล่นมีเคอร์เซอร์แสดงอยู่ และเราจะตั้งค่านั้นด้วย
‫และเราต้องการตั้งค่าตามว่าควรเปิดใช้งานโปรแกรมเล่นหรือไม่
‫ดังนั้นไม่ว่าค่าบูลีนของเครื่องเล่น B จะเปิดใช้งาน เราจะตั้งค่าให้ B แสดงเคอร์เซอร์ของเมาส์เป็นค่านั้น
‫ดังนั้นเราจะบอกว่าเคอร์เซอร์เมาส์ B sho เท่ากับผู้เล่น B ที่เปิดใช้งาน
‫ตอนนี้เรายังไม่ได้แสดงเคอร์เซอร์ของเมาส์
‫เราจะไปที่ส่วนนั้น
‫เราต้องการเห็นเคอร์เซอร์ของเมาส์ในขณะที่เรากำลังเล่นเกม ดังนั้นเราจึงรู้ว่ารถถังของเรามุ่งไปที่ใด
‫ดังนั้นเราจะไปที่นั้นเร็ว ๆ นี้
‫แต่สำหรับตอนนี้ เรามีฟังก์ชันที่ดีในคอนโทรลเลอร์ของผู้เล่น และเราอยากจะเรียกฟังก์ชันนี้จากโหมดเกมตอนนี้เพื่อแสดงให้คุณเห็นว่าฉันหมายถึงอะไร
‫ฉันจะกลับไปที่โหมดเกม และนี่คือฟังก์ชันนักแสดงตาย และคุณจะเห็นว่าเรากำลังปิดอินพุต และตั้งค่า
‫b แสดงเคอร์เซอร์ของเมาส์ที่นี่
‫เหตุผลที่ผมอยากมี
‫ฟังก์ชันบนตัวควบคุมเครื่องเล่น เพื่อให้เราสามารถเรียกฟังก์ชันนั้นว่าส่งผ่านค่าบูลีน
‫ในกรณีนี้ เราจะส่งผ่านค่า false เพื่อให้เราได้รับฟังก์ชันการป้อนข้อมูลที่ถูกเรียก และ B ดังนั้นเคอร์เซอร์ของเมาส์จึงถูกตั้งค่าเป็นเท็จ
‫ดังนั้นเราจึงสามารถเรียกฟังก์ชันนั้นที่นี่ตอนนี้ แทนที่จะเรียก tank get player controller ซึ่งส่งคืนคอนโทรลเลอร์ของผู้เล่น
‫ฉันต้องการมีตัวแปรพอยน์เตอร์ที่ช่วยให้เราเข้าถึงตัวควบคุมเครื่องเล่นนั้นได้
‫ดังนั้นในการปรับแต่งโหมดเกมรถถัง ฉันจะเพิ่มตัวแปรส่วนตัว
‫ฉันจะประกาศต่อไปและมันจะเป็นรถถังปรับแต่งประเภท A ผู้เล่นผู้ควบคุมนั่นคือตัวชี้
‫และฉันจะเรียกเพลงนี้ว่าตัวควบคุมผู้เล่นของ Tank และฉันสามารถตั้งค่านี้ในโหมดเกมปรับแต่งรถถัง
‫และเริ่มเล่นโดยใช้สถิติการเล่นเกม
‫ตอนนี้ หากคุณสงสัยว่าสถิตย์การเล่นเกมมีฟังก์ชันรับตัวควบคุมผู้เล่นหรือไม่ คุณคิดถูกแล้ว
‫นี่เป็นหนึ่งในฟังก์ชันสแตติกที่มีประโยชน์ซึ่งต้องการออบเจ็กต์บริบทโลกและดัชนีผู้เล่น เพื่อให้เราสามารถดำเนินการต่อและคัดลอกการรวมสำหรับสแตติกการเล่นเกมและเรียกสิ่งนี้ได้ที่นี่ใน
‫Begin Play
‫ฉันเห็นที่ด้านบนนี้ ฉันมีสถิติการเล่นเกมอยู่แล้ว นั่นเป็นเพราะเราใช้มันอยู่แล้วที่นี่
‫และเริ่มเล่นเพื่อเรียกผู้เล่น --
‫เรากำลังจะทำสิ่งเดียวกันที่นี่เพื่อตั้งค่าตัวชี้ตัวควบคุมเครื่องเล่น
‫นี่คือสิ่งที่คุณควรทราบวิธีการทำ
‫เหตุใดคุณจึงไม่หยุดวิดีโอชั่วคราวและทำภารกิจเล็กๆ น้อยๆ ที่นี่ และตั้งค่าการปรับแต่งรถถัง
‫ตัวควบคุมผู้เล่น
‫ตกลง.
‫ดังนั้นเราจะบอกว่าปรับแต่งรถถัง ผู้เล่น ผู้ควบคุม และเรากำลังตั้งค่าให้เท่ากับผลลัพธ์ของสถิติการเล่นเกมของคุณ
‫รับตัวควบคุมผู้เล่น และเรารู้ว่าวัตถุบริบทโลกสามารถเป็นสิ่งนี้ได้ และดัชนีผู้เล่นไม่ใช่เก้าแต่เป็นศูนย์
‫.
‫และแน่นอนว่าเราทราบดีว่าสิ่งนี้จะส่งคืนตัวควบคุมของผู้เล่น ไม่ใช่ตัวควบคุมของผู้เล่นที่ปรับแต่งรถถัง
‫เหมือนกับที่เราทำกับ Tank ที่นี่ เราจะแคสต์
‫ฉันจะบอกว่าใช้ตัวควบคุมผู้เล่นแทงค์และเรากำลังแคสต์ผลลัพธ์ของตัวควบคุมผู้เล่น
‫ดังนั้นหลังจาก Begin Play เราจะมีการปรับแต่งรถถัง ตัวควบคุมผู้เล่น
‫และตอนนี้ เราสามารถขึ้นมาที่นี่ และแทนที่จะรับตัวควบคุมผู้เล่นโดยใช้ตัวควบคุมผู้เล่นโดยตรงจากถัง
‫เราสามารถตรวจสอบว่าตัวควบคุมผู้เล่นรถถังที่ปรับแต่งแบบปรับได้ของเรานั้นถูกต้อง จากนั้นเราสามารถเรียกฟังก์ชันนั้นที่เราทำไว้ได้
‫ลองย้อนกลับไปดูกัน
‫เรียกว่าสถานะเปิดใช้งานผู้เล่นตั้งค่า และที่นี่ในโหมดเกม เราต้องการปิดใช้งานอินพุตและหยุดแสดงเคอร์เซอร์ ซึ่งหมายความว่าเราจะส่งผ่านเป็นเท็จสำหรับสิ่งนี้
‫ดังนั้นเราจะบอกว่าปรับแต่งรถถัง ผู้เล่น ผู้ควบคุม ตั้งค่าสถานะเปิดใช้งานผู้เล่น และเรากำลังส่งผ่านสำหรับสิ่งนี้ และเรากำลังใช้ปรับแต่งรถถัง
‫ตัวควบคุมผู้เล่น ซึ่งหมายความว่าเราจำเป็นต้องรวมการปรับแต่งรถถัง ตัวควบคุมผู้เล่น
‫ที่ด้านบนนี้เราจะรวมรถถังปรับแต่ง ตัวควบคุมผู้เล่น
‫และตอนนี้เรามี OC ที่กำหนดประเภทนี้แล้ว
‫ไปข้างหน้าและรวบรวมสิ่งนี้
‫และสิ่งสุดท้ายที่เราจะทำก่อนสรุปนี้คือ ไปที่พิมพ์เขียวตัวควบคุมผู้เล่นของเรา และฉันต้องการให้คุณเลื่อนลงไปที่ส่วนอินเทอร์เฟซของเมาส์
‫แล้วคุณจะพบว่ามีข้อความว่า Default Mouse Cursor
‫ตอนนี้ เราสามารถคลิกดรอปดาวน์และมีเคอร์เซอร์ให้เลือกหลายแบบ
‫และฉันจะเลือกกากบาท
‫ตอนนี้ เรายังไม่แสดงเคอร์เซอร์ของเมาส์ แต่เมื่อเราเริ่มเกม เราจะแสดงเคอร์เซอร์
‫และเมื่อเราทำเช่นนั้น ฉันชอบที่จะเป็นเป้าเล็ง แทนที่จะเป็นลูกศรสีขาวเริ่มต้นที่เราเห็นเสมอเมื่อเราดูเคอร์เซอร์ของเมาส์
‫ดังนั้น ให้ตั้งค่าเคอร์เซอร์ของเมาส์เริ่มต้นเป็นเป้าเล็ง แล้วเราจะสามารถเห็นเป้าเล็งเหล่านั้นได้เมื่อเราเปิดใช้งานเคอร์เซอร์ของเมาส์แล้ว
‫โดยสรุป เราได้สร้างคลาสคอนโทรลเลอร์สำหรับผู้เล่นแบบกำหนดเอง และเรากำลังใช้คลาสนั้นเพื่อเปิดใช้งานหรือปิดใช้งานอินพุตด้วยฟังก์ชันที่เราวางไว้ในคลาสนั้น
‫และเรายังใช้ฟังก์ชันนั้นเพื่อแสดงเคอร์เซอร์ของเมาส์หรือซ่อนเคอร์เซอร์ของเมาส์ตามบูลีนที่ส่งผ่านเข้ามา
‫และในพิมพ์เขียวที่เราสร้างขึ้น เราตั้งค่าประเภทเคอร์เซอร์ของเมาส์ และในไม่ช้าเราจะเห็นว่าเคอร์เซอร์ของเมาส์แบบกากบาทมีลักษณะอย่างไรเมื่อเราเริ่มแสดงเคอร์เซอร์ของเมาส์เมื่อเกมเริ่ม
‫งานดีมาก
‫ขณะนี้เรามีตัวควบคุมเครื่องเล่นนี้แล้วและเราพร้อมที่จะใช้งานฟังก์ชันเกมต่อไป
‫แล้วพบกันใหม่ในวิดีโอหน้าครับ