2011-08-08 12 views
6

मैं किसी जगह पर एक बम लगाने की कोशिश कर रहा हूं और जब यह विस्फोट हो जाता है तो इसके चारों ओर हर चीज उड़ जाएगी और गति इस बात पर निर्भर करती है कि वस्तु को बम पर कितना करीब बंद कर दिया गया है। कुछ ऐसा है जैसे काला पक्षी गुस्से में पक्षियों में विस्फोट करता है।आस-पास के निकायों को दूर करने वाले विस्फोट को कैसे एनिमेट किया जाए?

किसी भी एक मुझे एक नमूना कोड या ऐसा करने के लिए एक तरह से (मैं box2d साथ AndEngine उपयोग कर रहा हूँ)

धन्यवाद

+3

एक पल के लिए, मैं चिंतित था – snowflakekiller

+1

आपको प्रश्न में संशोधन करना चाहिए ताकि प्रोग्रामिंग के लिए उचित तरीके से अंक –

+0

ऐसा करने के कई तरीके हैं। यहां कुछ दिलचस्प चर्चा: http://box2d.org/forum/viewtopic.php?f=3&t=1688 – iforce2d

उत्तर

7

यह यथार्थवादी (ish) होने जा रहा है, तो एंग्री बर्ड्स की तरह दे सकते हैं , फिर बम द्वारा अलग किए गए प्रत्येक ऑब्जेक्ट के लिए, यह एक वर्ग पथ का पालन करेगा।

मुझे एंडेंगिन या बॉक्स 2 डी पता नहीं है। लेकिन मैंने एक गेम में सरल 2 डी विस्फोट और प्रक्षेपण मॉडलिंग किया है। मुझे उम्मीद है कि आप निम्न से कुछ ले सकते हैं:

आप बम से ऑब्जेक्ट की (x, y) समन्वय दूरी को जानना चाहते हैं। इससे कोण की गणना करें। (उदाहरण के लिए बम के ऊपर एक वस्तु के रूप में विस्फोट के रूप में कोण 90 या पीआई/2 होगा।

इस काम से कोण के पाप और कोस। इसे कुछ बल कारक द्वारा गुणा करें एफ (निर्भर बेटा की ताकत बम से बम और वस्तु की दूरी।) इससे आपके पास आंदोलन का प्रारंभिक वेक्टर {एफ * Math.cos (कोण), एफ * Math.sin (कोण)};

यहां से यह सिर्फ विमान है । कीनेमेटीक्स वस्तु हवा के माध्यम से एक द्विघात मार्ग का अनुसरण करना चाहिए समीकरण कुछ इस प्रकार दिखाई हो सकता है:।

object.setXCoord(object.getXCoord()+time_constant); //after initial explosion, no force is  
          //acting horizontally on object. 


object.setYCoord(object.getYCoord()-some_constant*time_constant+another_constant*time_constant*time_constant);// note Y's path 
                //relative to time is quardatic. 

आप शायद वहाँ क्या प्रकार पर निर्भर करता है में कुछ डाले जोड़ने की आवश्यकता होगी आप उपयोग करेंगे। सभी स्थिरांक आपके खेल पर निर्भर करते हैं। time_constant 1 हो सकता है, लेकिन मैंने 1 में से कई को विस्फोट को और अधिक आकर्षक रूप से आकर्षक बना दिया। यानी आपका समय काउंटर टी वृद्धि के रूप में, ऑब्जेक्ट का आंदोलन time_constant 0.5 का उपयोग कर सकता है। मैंने निरंतर मूल्यों का सर्वोत्तम प्रदर्शन करने के लिए बहुत सारे परीक्षण और त्रुटि का उपयोग किया।

संबंधित मुद्दे