‫เฮ้ ยินดีต้อนรับกลับมา
‫ในวิดีโอนี้ เราจะแยกความแตกต่างระหว่างอินสแตนซ์ของคลาสพิมพ์เขียวเฉพาะกับพิมพ์เขียวเริ่มต้น
‫ซึ่งเป็นพิมพ์เขียวที่ใช้กับอินสแตนซ์ทั้งหมด
‫เรายังจะดูว่าเราสามารถกำหนด อ่าน หรือเขียนการเข้าถึงสำหรับตัวแปร C++ เฉพาะในพิมพ์เขียวได้อย่างไร
‫มาเริ่มกันเลยดีกว่า
‫ตอนนี้เราพร้อมที่จะเริ่มเปิดเผยส่วนประกอบบางส่วนของเราไปยัง Blueprint แล้ว
‫ดังนั้นที่นี่ เรามีส่วนประกอบของเรา และเราเห็นว่าถ้าเราคลิกบนส่วนประกอบแต่ละรายการ แผงรายละเอียดของเราจะว่างเปล่าทั้งหมด
‫ดังนั้นเราจึงต้องเรียนรู้วิธีที่เราสามารถเปิดเผยคุณสมบัติบางอย่างให้กับพิมพ์เขียว และเราทำได้โดยการใช้มาโครคุณสมบัติ
‫U ของเรา
‫ลองย้อนกลับไปที่โค้ด VS และดูมาโครคุณสมบัติ You
‫นี่คือมาโครพิเศษ
‫เป็นเอกลักษณ์ของ Unreal Engine และมีวงเล็บชุดนี้ เนื่องจากตอนนี้สามารถใช้พารามิเตอร์อินพุตเพื่อแสดงวิธีเปิดเผยสิ่งต่าง
‫ๆ ได้ด้วยวิธีใดวิธีหนึ่ง เราจะสร้างตัวแปรที่ใช้แล้วทิ้งสองสามตัวที่เราลบได้เมื่อเรา
‫เสร็จแล้ว
‫เราจะใช้สิ่งเหล่านี้เพื่อดูว่าสิ่งที่เปิดเผยนี้ทำงานอย่างไร เพื่อให้เราสามารถสร้างจำนวนเต็มได้
‫มาสร้าง INT 32 และฉันจะเรียกสิ่งนี้ว่า int 32 ที่มองเห็นได้ทุกที่
‫และตรงนี้ ผมจะเริ่มต้นมันเป็นค่า เช่น 12
‫ในการที่จะเปิดเผยสิ่งนี้ต่อระบบการสะท้อน เราจะต้องสร้างมาโครคุณสมบัติใหม่
‫ทีนี้ นี่เป็นเพียงตัวแปรจำนวนเต็มธรรมดา
‫ไม่ใช่ส่วนประกอบแบบนี้ จึงไม่แสดงในแท็บส่วนประกอบ
‫จำไว้ที่นี่ในพิมพ์เขียว เรามีส่วนส่วนประกอบนี้ และส่วนประกอบใดๆ จะแสดงขึ้นที่นี่ แต่ตัวแปรปกติใดๆ
‫เหล่านั้นจะปรากฏขึ้น
‫หากเราคลิกที่ BP Pond, Tank Self เป็นต้น เราจะเห็นตัวแปรอื่นๆ ทั้งหมดที่ไม่ใช่ส่วนประกอบ
‫ย้อนกลับไปใน vs code มาตัดสินใจว่าเราจะเปิดเผยที่ใดก็ได้อย่างไร
‫INT ฉันจะแนะนำคุณเกี่ยวกับคีย์เวิร์ดของอสังหาริมทรัพย์บางคำให้คุณทราบ
‫ตัวเลือกเหล่านี้สามารถใส่ลงในวงเล็บสำหรับตัว U ได้
‫มาโครคุณสมบัติ
‫สำหรับอันนี้ เราจะเพิ่มที่มองเห็นได้ทุกที่
‫ตอนนี้ ไปข้างหน้าและรวบรวมสิ่งนี้
‫ตกลง.
‫เราจึงได้รวบรวมกลับมาที่ตัวแก้ไข
‫และที่นี่ใน BP Pond Tank ฉันเลือกถัง BP ด้วยตัวเองที่นี่ และฉันสามารถค้นหาในแผงรายละเอียดเพื่อให้มองเห็นได้
‫และนี่คือที่มองเห็นของฉันได้ทุกที่โดยสังเกตว่าพิมพ์เขียววางช่องว่างระหว่างแต่ละคำด้วยวิธีที่เรา
‫ตั้งชื่อสิ่งนี้ด้วย Camel Case แล้วลองดู เราจะเห็นว่ามีค่า 12 และเป็นสีเทา
‫เราไม่สามารถแก้ไขสิ่งนี้ได้เลย
‫นั่นคือความหมายที่มองเห็นได้ทุกที่
‫หมายความว่ามองเห็นได้ แต่เราไม่สามารถแก้ไขคุณสมบัตินี้ได้
‫เอาล่ะ มาสร้าง INT 32 ใหม่กัน
‫ฉันจะเรียกสิ่งนี้ว่าการแก้ไขที่ใดก็ได้ int
‫และสำหรับสิ่งนี้ ฉันจะให้ค่ามัน พูด 22 และอันนี้จะได้รับมาโครคุณสมบัติ U ของตัวเอง และแทนที่จะมองเห็นได้ทุกที่
‫ฉันจะให้คีย์เวิร์ดอันนี้
‫แก้ไขได้ทุกที่
‫ไปข้างหน้าและรวบรวมสิ่งนี้และกลับมาที่นี่ในเครื่องมือแก้ไข ฉันจะค้นหาแทนเพื่อแก้ไขได้ทุกที่
‫และนี่คือการแก้ไขของฉันทุกที่ และคุณจะเห็นว่ามันมีค่า 22 เท่านั้น มันไม่ได้เป็นสีเทาอีกต่อไป
‫ฉันเลือกได้ ฉันเปลี่ยนได้
‫มันสามารถแก้ไขได้
‫นั่นคือสิ่งที่หมายถึงการแก้ไขทุกที่
‫หมายความว่าเราสามารถเปลี่ยนแปลงได้
‫ดังนั้นแม้ว่าเราจะเริ่มต้นเป็น 22 ใน C++ เราก็สามารถเขียนทับค่านั้นที่นี่ในพิมพ์เขียวและให้ค่าใหม่ได้
‫ตอนนี้คุณได้เรียนรู้เกี่ยวกับ Visible ได้ทุกที่และแก้ไขได้ทุกที่ แต่มีคำหลักมากกว่าสองคำนี้
‫ตัวอย่างเช่น มาสร้าง int 32 ใหม่และเรียกอินสแตนซ์นี้ว่า int ที่มองเห็นได้เท่านั้น และเริ่มต้นสิ่งนี้เป็น
‫11
‫ตอนนี้มันจะได้รับมาโครคุณสมบัติของคุณและคำหลักที่ฉันจะมอบให้กับสิ่งนี้คืออินสแตนซ์ที่มองเห็นได้เท่านั้น
‫มารวบรวมสิ่งนี้และกลับมาที่นี่ในแผงรายละเอียดในพิมพ์เขียว ฉันจะค้นหาที่มองเห็นได้ ตอนนี้ สังเกตว่าเราสามารถมองเห็นได้ทุกที่
‫int แต่ตัวแปรใหม่ของเราอยู่ที่ไหน
‫เราเรียกมันว่าอินสแตนซ์ที่มองเห็นได้เท่านั้น
‫INT ดูอินสแตนซ์ที่มองเห็นได้เท่านั้น
‫INT เราไม่เห็นมันที่นี่ แต่ลองดูนี่สิ
‫ฉันจะเอาถัง BP ของเราและลากหนึ่งในนั้นออกไปในโลกที่นี่
‫และเราสามารถมองเห็นโลกภายนอกได้
‫ทันใดนั้นเรามีถังบ่อ BP ที่นี่ในโลก
‫ด้วยการเลือกสิ่งนี้ ฉันสามารถลงมาที่นี่ในแผงรายละเอียดและค้นหาที่มองเห็นได้ ตอนนี้ลองดูสิ ตอนนี้เราจะมองเห็น
‫int ที่มองเห็นได้ทุกที่และอินสแตนซ์ที่มองเห็นได้เท่านั้น int ของเรา
‫แล้วเราจะเห็นมันที่นี่ได้อย่างไร แต่เรามองไม่เห็นมันเมื่อเราดูพิมพ์เขียวจริง ๆ เอง
‫มีความแตกต่างที่ฉันอยากจะทำ
‫คุณจะเห็นว่าเมื่อเรามีพิมพ์เขียวของเราในเบราว์เซอร์เนื้อหา เราสามารถดับเบิลคลิกได้
‫เปิดขึ้นมาและดูคุณสมบัติของมัน
‫อะไร
‫เรากำลังดูที่นี่เป็นพิมพ์เขียวเริ่มต้น
‫ข้อมูลนี้มีข้อมูลเริ่มต้นทั้งหมดสำหรับพิมพ์เขียว
‫แต่ทันทีที่ฉันลากมันออกมาในระดับ ตอนนี้เราก็มีสิ่งที่เรียกว่าตัวอย่าง
‫ดังนั้นถัง BP โดยเฉพาะที่มีอยู่ในโลกนี้จึงเป็นตัวอย่างของถังบ่อ BP
‫อันที่จริง เราสามารถลากออกมาได้หลายอินสแตนซ์ และแต่ละอินสแตนซ์ที่มีอยู่ในโลกคือตัวอย่างของถังบ่อ
‫BP
‫ซึ่งแตกต่างจากพิมพ์เขียวเริ่มต้น
‫ต่อไปนี้เป็นกราฟเล็กๆ น้อยๆ สำหรับคุณที่จะอ้างอิง และเราจะเติมกราฟนี้ให้มากขึ้นเมื่อเราเรียนรู้เกี่ยวกับตัวระบุเพิ่มเติม
‫จนถึงตอนนี้ เราสามารถมองเห็นได้ทุกที่เท่านั้น ซึ่งคุณจะเห็นอยู่ภายใต้ทั้งคอลัมน์ค่าเริ่มต้นและคอลัมน์อินสแตนซ์
‫และอยู่ในแถวชื่ออ่านอย่างเดียว
‫ดังนั้นคุณจึงเห็นได้จากกราฟนี้ว่าสถานที่ให้บริการของคุณจะมองเห็นได้จากทุกที่เท่านั้น
‫จะไม่สามารถแก้ไขได้ แต่จะมองเห็นได้ทั้งบนค่าเริ่มต้นและอินสแตนซ์
‫ในขณะที่อินสแตนซ์ที่มองเห็นได้มีเพียงการเข้าถึงแบบอ่านอย่างเดียว แต่บนอินสแตนซ์เท่านั้น
‫คุณไม่สามารถมองเห็นได้บนพิมพ์เขียวเริ่มต้น
‫จากนั้นเราได้เรียนรู้เกี่ยวกับการแก้ไขทุกที่ ซึ่งช่วยให้เราแก้ไขคุณสมบัติของคุณในค่าเริ่มต้นและอินสแตนซ์ได้จริง
‫จึงมีอยู่ในคอลัมน์ค่าเริ่มต้นและอินสแตนซ์
‫เพื่อเป็นความท้าทาย ฉันต้องการให้คุณเพิ่มตัวแปรให้กับคลาสบ่อฐาน
‫ตอนนี้ใส่สิ่งนี้ในส่วนสาธารณะและสิ่งที่คุณจะทำคือตัดสินใจว่าคุณต้องการเพิ่มตัวแปรประเภทใดและจะเป็นอะไรก็ได้
‫แต่ทำให้เป็นประเภทพื้นฐานเช่นจำนวนเต็มหรือทศนิยม
‫คุณยังสามารถทำให้เป็นเวกเตอร์ F หรือสตริง F ได้ หากคุณต้องการเริ่มต้นมันด้วยค่าเริ่มต้นเหมือนกับจุดสิ้นสุด
‫30 twos อื่นๆ ของเรา
‫และนี่อาจเป็นตัวแปรใดก็ได้ที่คุณต้องการ
‫คุณสามารถสร้างตัวแปรความเร็วหรือตัวแปรความแข็งแกร่ง
‫คุณมีอิสระที่นี่
‫เมื่อคุณสร้างตัวแปรนี้แล้ว ให้ตัดสินใจเลือกระดับการเข้าถึงที่คุณต้องการสำหรับสิ่งนี้ จากนั้นให้มาโครคุณสมบัติและเพิ่มการระบุที่ถูกต้องที่นี่
‫ตอนนี้ตัดสินใจว่าคุณต้องการให้สิ่งนี้มองเห็นได้เฉพาะในอินสแตนซ์หรือค่าเริ่มต้น หรือถ้าคุณต้องการให้มองเห็นได้ทุกที่หรือแก้ไขที่ใดก็ได้
‫ให้ใช้ตัวระบุตัวใดตัวหนึ่งที่เราได้เรียนรู้มาจนถึงตอนนี้และระบุตัวแปรนี้ให้ถูกต้อง ไปข้างหน้าและหยุดวิดีโอชั่วคราวและสร้างตัวแปรนี้ทันที
‫ไม่เป็นไร.
‫ผมจะไปสร้างตัวแปรก่อน
‫ตอนนี้ ไม่เป็นไรถ้าคุณทำสิ่งที่แตกต่างไปจากเดิมอย่างสิ้นเชิง
‫นี่เป็นเพียงเพื่อการปฏิบัติ
‫ฉันจะทำลูกลอยและฉันจะเรียกความเร็วนี้และฉันจะเริ่มต้นความเร็วเป็น 400 F
‫และฉันคิดว่าฉันต้องการให้ตัวแปรความเร็วนี้สามารถแก้ไขได้ทั้งในอินสแตนซ์และค่าเริ่มต้น
‫ดังนั้นฉันจะให้มาโครคุณสมบัติ U และทำการแก้ไขได้ทุกที่
‫ดังนั้นฉันจะไปข้างหน้าและรวบรวมสิ่งนี้
‫และในโปรแกรมแก้ไข ฉันสามารถเลือกหนึ่งในฐานของฉัน -- อินสแตนซ์รถถัง
‫และในแผงรายละเอียด ฉันสามารถเห็นตัวแปรความเร็วของฉัน และแน่นอนว่าฉันสามารถแก้ไขได้ที่นี่
‫และถ้าฉันเปิด -- รถถัง นี่คือตัวแปรความเร็วของฉัน มันตั้งไว้ที่ 400 และแก้ไขได้
‫โดยสรุปแล้ว เราได้เรียนรู้ความแตกต่างระหว่างอินสแตนซ์กับค่าเริ่มต้นของคลาสพิมพ์เขียวเฉพาะ
‫นอกจากนี้เรายังได้เรียนรู้ตัวระบุคุณสมบัติใหม่สองสามตัว เช่น Visible Anywhere, Visible, Instance เท่านั้น และแก้ไขได้ทุกที่
‫ในวิดีโอหน้า เราจะเรียนรู้วิธีควบคุมการเข้าถึงตัวแปร C++ ใน Blueprint ต่อไปโดยใช้ตัวระบุคุณสมบัติใหม่เหล่านี้
‫เจอกันเร็วๆนี้ครับ