3
วิธีลบเนื้อหา box2d เมื่อเกิดการชน
ฉันยังใหม่กับการเขียนโปรแกรมจาวาและ Android และฉันมีปัญหามากการลบวัตถุเมื่อเกิดการชน ฉันมองไปรอบ ๆ เว็บและพบว่าฉันไม่ควรจัดการกับการลบเนื้อหาของ BOX2D ในระหว่างการตรวจจับการชน (ผู้ฟังรายชื่อผู้ติดต่อ) และฉันควรเพิ่มวัตถุของฉันลงในรายการอาร์เรย์และตั้งค่าตัวแปรในส่วนข้อมูลผู้ใช้ของร่างกายเพื่อลบหรือไม่ แอ็คชันการลบในตัวจัดการอัพเดต ดังนั้นฉันจึงทำสิ่งนี้: ก่อนอื่นให้นิยาม ArrayLists สองอันสำหรับใบหน้าและอีกอันสำหรับร่างกาย: ArrayList<Sprite> myFaces = new ArrayList<Sprite>(); ArrayList<Body> myBodies = new ArrayList<Body>(); จากนั้นเมื่อฉันสร้างใบหน้าและเชื่อมต่อใบหน้านั้นกับร่างกายฉันเพิ่มพวกเขาไปยัง ArrayLists ของพวกเขาเช่นนี้: face = new AnimatedSprite(pX, pY, pWidth, pHeight, this.mBoxFaceTextureRegion); Body BoxBody = PhysicsFactory.createBoxBody(mPhysicsWorld, face, BodyType.DynamicBody, objectFixtureDef); mPhysicsWorld.registerPhysicsConnector(new PhysicsConnector(face, BoxBody, true, true)); myFaces.add(face); myBodies.add(BoxBody); …