আমি এখনও জাভা এবং অ্যান্ড্রয়েড প্রোগ্রামিংয়ে নতুন এবং আমার খুব সমস্যা হচ্ছে যখন সংঘর্ষ ঘটে তখন কোনও বস্তু সরানো। আমি ওয়েবটি ঘুরে দেখলাম যে সংঘর্ষ সনাক্তকরণের সময় আমার কখনই BOX2D মৃতদেহগুলি অপসারণ করা উচিত নয় (কোনও পরিচিতি শ্রোতা) এবং আমার জিনিসগুলি একটি অ্যারেলিস্টে যুক্ত করা উচিত এবং মুছতে বা না এবং পরিচালনা করতে শরীরের ইউজার ডেটা বিভাগে একটি পরিবর্তনশীল সেট করা উচিত একটি আপডেট হ্যান্ডলারের অপসারণ কর্ম। সুতরাং আমি এটি করেছি: প্রথমে আমি দুটি অ্যারেলিস্ট সংজ্ঞা দিয়েছি একটির মুখের জন্য এবং একটির দেহের জন্য:
ArrayList<Sprite> myFaces = new ArrayList<Sprite>();
ArrayList<Body> myBodies = new ArrayList<Body>();
তারপরে আমি যখন কোনও মুখ তৈরি করি এবং সেই মুখটিকে তার শরীরে সংযুক্ত করি তখন আমি তাদের এ্যারেলিস্টে তাদের যুক্ত করে:
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);
এখন আমি এইভাবে অনলোডসিনে একটি পরিচিতি শ্রোতা এবং একটি আপডেট হ্যান্ডলার যুক্ত করি:
this.mPhysicsWorld.setContactListener(new ContactListener() {
private AnimatedSprite face2;
@Override
public void beginContact(final Contact pContact) {
}
@Override
public void endContact(final Contact pContact) {
}
@Override
public void preSolve(Contact contact,Manifold oldManifold) {
}
@Override
public void postSolve(Contact contact,ContactImpulse impulse) {
}
});
scene.registerUpdateHandler(new IUpdateHandler() {
@Override
public void reset() { }
@Override
public void onUpdate(final float pSecondsElapsed) {
}
});
আমার পরিকল্পনাটি হ'ল শরীরের ব্যবহারকারীর ডেটা বিভাগ থেকে পরিবর্তনশীল পরীক্ষা করে কোন দুটি সংস্থার যোগাযোগের শ্রোতার সাথে সংঘর্ষ হয়েছিল, তাদের সংখ্যা অ্যারে তালিকায় পাওয়া যাবে এবং অবশেষে এই মৃতদেহগুলি অপসারণ করতে আপডেট হ্যান্ডলারটি ব্যবহার করুন detect
প্রশ্নগুলি হ'ল: আমি কি অ্যারেলিস্টটি সঠিকভাবে ব্যবহার করছি? কীভাবে ব্যবহারকারীর ডেটাতে ভেরিয়েবল যুক্ত করবেন (কোডটি দয়া করে)। আমি এই আপডেট হ্যান্ডলারের একটি শরীর অপসারণ করার চেষ্টা করেছি তবে এটি এখনও আমাকে নুলপয়েন্টারএক্সেপশন ছুড়ে ফেলেছে, তাই আপডেট হ্যান্ডলার যুক্ত করার সঠিক উপায় কী এবং আমি কোথায় যুক্ত করব। এটি করার জন্য অন্য কোনও পরামর্শ দুর্দান্ত। আগাম ধন্যবাদ.