‫สวัสดีและยินดีต้อนรับ.
‫ในการบรรยายนี้ เราจะออกแบบปืนของเราเพื่อให้เมื่อเรากดปุ่มเมาส์หรือไกปืน
‫เราจะได้รับข้อความบันทึก
‫และข้อความบันทึกนี้เป็นขั้นตอนแรกในการทำให้สิ่งอื่น ๆ มากมายหมดไปจากสถาปัตยกรรมปืนนี้
‫มาดูวิธีทำกันเลยดีกว่า
‫ดังนั้นเราจึงต้องการให้ปืนนี้ยิงได้ในท้ายที่สุด และนั่นคือแก่นของปืน
‫ทำไมเราถึงเลือกให้ปืนเป็นแกนหลักของสถาปัตยกรรมการยิงของเรา?
‫อย่างที่ฉันได้พูดไปบ้างแล้ว เราต้องการที่จะสนับสนุนวิธีการถ่ายภาพประเภทต่างๆ
‫ทีนี้ วิธีถ่ายภาพที่เรามักมีมีประเภทใดบ้าง
‫มีการยิงโดยตรง ซึ่งมักใช้การติดตามรังสีและเส้นสายตาโดยตรงเพื่อตรวจสอบว่าเหยื่อถูกยิงหรือไม่
‫มันจะไปบอกว่า โอเค ฉันมองเห็นศัตรูตัวนั้น
‫เป็นแนวที่มองเห็นจากปืนถึงศัตรูได้ชัดเจน
‫มันกระทบเขา เราเลยต้องทำความเสียหายให้เขา
‫มิฉะนั้น หากผมพลาดไปและไม่โดนศัตรู จะไม่สร้างความเสียหาย
‫นั่นเป็นวิธีหนึ่งที่ง่ายมาก
‫มันไม่ได้จำลองฟิสิกส์ของกระสุนจริง ๆ แต่ไม่จำเป็น
‫ด้วยเหตุผลด้านประสิทธิภาพ ตอนนี้เราไม่มีเครื่องยิงจรวดหรืออะไรทำนองนั้น มันมักจะเป็นกระสุนที่ช้ามาก
‫เราต้องการเห็นผลของโพรเจกไทล์นั้นที่เคลื่อนที่ไปในอากาศและการหน่วงเวลามีความสำคัญ
‫ซึ่งในกรณีนี้เราอาจวางไข่โพรเจกไทล์นั้นและดูว่าโพรเจกไทล์กระทบในเวลา
‫5 วินาที หรือเราอาจไปเส้นทางอื่นด้วยกระสุน ดรอปและไรเฟิลและไรเฟิลซุ่มยิงในระยะไกล
‫ทั้งหมดนี้สามารถเปลี่ยนแปลงได้ขึ้นอยู่กับการใช้งานปืนของเรา
‫ตอนนี้เรากำลังจะใช้ปืนหนึ่งกระบอกในส่วนนี้
‫มันจะเป็นปืนไรเฟิล ปืนประเภทยิงตรง
‫แต่เพื่อที่จะปล่อยให้สถาปัตยกรรมนั้นเปิดกว้างให้คุณขยายออกไป เราจะให้ปืนรับผิดชอบในการยิง
‫นั่นหมายความว่าเราต้องเดินหน้าต่อไปและแนะนำสถาปัตยกรรมการยิงเข้าไปในปืนของเรา
‫ดังนั้นเราจึงมีปืน
‫H เราต้องการสร้างฟังก์ชันสาธารณะสำหรับสิ่งนี้ ซึ่งจะทำให้เราสามารถดึงไกปืนจากตัวละครที่ยิงปืนหรือจากที่ใดก็ตามที่เรากำลังป้อนข้อมูล
‫ในกรณีของศัตรู เราจะดึงทริกเกอร์นั้นออกจากตา
‫มาสร้างโมฆะกันเถอะ
‫ไม่จำเป็นต้องมีวิธีทริกเกอร์แบบดึงกลับ และไม่จำเป็นต้องดำเนินการใดๆ
‫ทั้งหมดที่เราต้องรู้คือเราต้องการดึงทริกเกอร์ในเฟรมนี้
‫เท่านี้ก็เพียงพอแล้ว ตอนนี้ฉันจะดำเนินการต่อและสร้างการใช้งานด้วย control
‫shift P และสร้างการนำไปใช้
‫และในที่นี้ ทั้งหมดที่ฉันจะทำคือฉันจะใส่บันทึก YUI และฉันจะเตือนให้โดดเด่นและเปลี่ยนข้อความเป็น
‫You've been shot เช่นนั้น และเยี่ยมมาก .
‫นั่นคือสิ่งที่เราจะเรียกในตัวละครของเรา DHCP
‫ดังนั้นนี่จะเป็นสิ่งที่ท้าทายสำหรับคุณ
‫เป็นการผูกข้อมูลอินพุตเพิ่มเติม
‫เราได้ทำการผูกอินพุตไว้มากมายที่นี่
‫คุณมีตัวอย่างมากมายของการผูกข้อมูลเข้า
‫ไปข้างหน้าและทำเช่นนี้
‫ในการเชื่อมต่อการถ่ายทำ คุณจะต้องสร้างแอคชั่นใหม่ในการตั้งค่าโปรเจ็กต์สำหรับการถ่ายภาพ
‫ผูกมันไว้กับคีย์ของคุณ ทริกเกอร์ที่ถูกต้อง อะไรก็ตามที่คุณต้องการผูกมันไว้ จากนั้นผูกมันเข้ากับตัวละครที่ตั้งค่าวิธีการอินพุตของผู้เล่นเพื่อทำสิ่งนี้
‫และหลังจากผูกอักขระแล้ว คุณจะสามารถเรียกทริกเกอร์การดึงจากภายในฟังก์ชันที่คุณสร้างขึ้นบนตัวละครได้
‫อย่าลืมใส่ฟังก์ชั่นเข้าไปในตัวละครเพื่อตั้งค่าการผูก แทนที่จะพยายามผูกกับปืนนั้นโดยตรง
‫การผูกติดกับปืนโดยตรงจะไม่ทำงาน
‫คุณต้องใส่ตัวกลางของฟังก์ชันเล็กๆ น้อยๆ เข้าไป
‫หยุดวิดีโอชั่วคราวแล้วฉันจะให้คำใบ้หรือการเริ่มต้นเล็กน้อยหากคุณกำลังดิ้นรนกับความท้าทายในส่วนสุดท้ายของการสร้างฟังก์ชันตัวกลาง
‫คำใบ้มาถึงนี้แล้ว หากคุณไม่ต้องการคำใบ้ ให้หยุดเดี๋ยวนี้
‫แต่คำใบ้คือเรากำลังจะทำสิ่งนี้ ซึ่งมีฟังก์ชั่นส่วนตัวใหม่ที่เรียกว่า
‫void, shoot และสร้างการใช้งานใน C++
‫และนี่จะอยู่ในนี้ที่เราเรียกวิธีการของปืนเอง
‫เหนี่ยวไกปืน เรากำลังจะทำปืน
‫แล้วเรียก pull trigger จากภายในยิง
‫และนี่คือสิ่งที่คุณต้องผูกมัด
‫โอเค หยุดวิดีโอชั่วคราวอีกครั้ง ถ้านั่นคือสิ่งที่คุณต้องการทำ จากนั้นไปตั้งค่าการดำเนินการ
‫ตกลง.
‫เราจะไปที่การตั้งค่าโครงการของเรา
‫ดังนั้นการตั้งค่า การตั้งค่าโปรเจ็กต์ และเราต้องการเทียบท่านี้และไปที่อินพุตของเรา และเราต้องการเพิ่มการดำเนินการใหม่
‫และเราจะเรียกมันว่าการถ่ายทำ
‫จากนั้นเราจะผูกสิ่งนี้กับปุ่มเมาส์ซ้ายและทริกเกอร์ขวา ไม่ใช่แกนทริกเกอร์ด้านขวา
‫ทางขวา.
‫เพียงแค่ทริกเกอร์
‫ฉันคิดว่านั่นคือสิ่งที่ฉันเลือก แต่ฉันไม่ได้
‫โอเค เราผูกมัดกับทั้งคอนโทรลเลอร์และเมาส์ จากนั้นเราจะข้ามไปผูกแกนในตัวละครเกมยิงของเรา
‫CP ดังนั้นคัดลอกแกนผูกนี้เพื่อกระโดด
‫ฉันหมายถึงการกระทำ
‫แน่นอน ฉันจะทำให้สองคนนี้ปะปนกันอยู่เสมอ
‫เราทุกคนเรียกสลับไปที่แกนยิงที่นี่
‫การกดคือสิ่งที่เราต้องการและแทนที่จะผูกมัดเพื่อกระโดด เราจะผูกมัดกับการยิงตัวละครแทน
‫เช่นนั้นแล้วไปต่อและสร้างกัน
‫ดูเหมือนว่าจะทำสำเร็จแล้ว
‫ลองปิดมันลงและดูว่าใช้งานได้หรือไม่
‫ออกจากเกมแล้วกดเล่นอีกครั้งและดูบันทึกการส่งออกของเรา
‫ที่สำคัญมันเล่น
‫ใช่.
‫ดังนั้นถ้าฉันกดปุ่มเมาส์ก็ใช้งานได้
‫ลองดูว่าสิ่งเดียวกันจะเกิดขึ้นถ้าฉันใช้ทริกเกอร์ที่ถูกต้องหรือไม่
‫ใช่.
‫ไกขวาก็ทำงานเช่นกันสำหรับการยิง
‫เห็นได้ชัดว่าข้อความบันทึกไม่ใช่วิธีที่ดีที่สุดในการแจ้งให้ผู้เล่นของคุณทราบว่ามีบางอย่างเกิดขึ้นในเกม
‫ในการบรรยายครั้งต่อไป เราจะมาดูการเพิ่มเอฟเฟกต์อนุภาคเพื่อทำสิ่งนั้น
‫ฉันจะไปพบคุณที่นั่น.