ฉันจะใช้คุณสมบัติต่าง ๆ ในระบบเอนทิตีได้อย่างไร
หลังจากถามคำถามสองข้อเกี่ยวกับระบบเอนทิตี ( 1 , 2 ) และอ่านบทความเกี่ยวกับพวกเขาฉันคิดว่าฉันเข้าใจพวกเขาดีขึ้นกว่า แต่ก่อน ฉันยังมีความไม่แน่นอนอยู่บ้างส่วนใหญ่เกี่ยวกับการสร้างตัวส่งอนุภาคระบบอินพุตและกล้อง เห็นได้ชัดว่าฉันยังคงมีปัญหาในการทำความเข้าใจกับระบบเอนทิตีและพวกเขาอาจนำไปใช้กับวัตถุช่วงอื่น ๆ ทั้งหมด แต่ฉันเลือกสามข้อนี้เพราะมันเป็นแนวคิดที่แตกต่างกันมาก จัดการปัญหาเช่นนี้ด้วยตัวเองเมื่อพวกเขามา ฉันกำลังสร้างเอ็นจิ้นใน JavaScript และฉันได้นำคุณสมบัติหลักมาใช้ซึ่งรวมถึง: การจัดการอินพุต, ระบบภาพเคลื่อนไหวที่ยืดหยุ่น, ตัวส่งอนุภาค, คลาสคณิตศาสตร์และฟังก์ชั่น, การจัดการฉาก, กล้องและเรนเดอร์ ของสิ่งอื่น ๆ ที่เครื่องยนต์มักจะสนับสนุน ฉันอ่านคำตอบของ Byte56 ซึ่งทำให้ฉันสนใจที่จะทำให้เครื่องยนต์กลายเป็นระบบเอนทิตี มันจะยังคงเป็นเอ็นจิ้นเกม HTML5 ที่มีปรัชญาฉากพื้นฐาน แต่ควรสนับสนุนการสร้างเอนทิตีจากส่วนประกอบ ปัญหาที่ฉันมีตอนนี้คือปรับแนวคิดเครื่องยนต์เก่าของฉันให้เข้ากับกระบวนทัศน์การเขียนโปรแกรมใหม่นี้ นี่คือคำจำกัดความบางส่วนจากคำถามก่อนหน้านี้ที่อัปเดต: Entityเป็นตัวระบุ มันไม่มีข้อมูลใด ๆ ไม่ใช่วัตถุมันเป็นรหัสง่าย ๆ ที่แสดงดัชนีในรายการฉากของเอนทิตีทั้งหมด (ซึ่งจริง ๆ แล้วฉันวางแผนที่จะใช้เป็นเมทริกซ์คอมโพเนนต์) ตัวแทนเป็นผู้ถือข้อมูล แต่ด้วยวิธีการที่สามารถทำงานกับข้อมูลที่ ตัวอย่างที่ดีที่สุดคือองค์ประกอบVector2Dหรือ "ตำแหน่ง" มันมีข้อมูล: xและyแต่ยังมีบางส่วนวิธีการที่ทำให้การดำเนินงานเกี่ยวกับข้อมูลง่ายขึ้นเล็กน้อย: …