मैं एक "डंपिंग" संपत्ति का उपयोग करके, किसी ऑब्जेक्ट की गति को धीरे-धीरे कम करने की कोशिश कर रहा हूं। उसके बाद, मैं वेग का उपयोग कर ऑब्जेक्ट की स्थिति को स्थानांतरित करना चाहता हूं। यह इस तरह दिखता है:डेल्टाटाइम के साथ गति को कम करना?
velocity.x *= velocity.damping;
velocity.y *= velocity.damping;
x += velocity.x;
y += velocity.y;
नहीं कर सके कि तुलना में बहुत सरल हो सकता है और यह ठीक काम करता है, लेकिन यहाँ है मेरी समस्या: मैं एक deltaTime चर, कि (सेकंड में) समय की मात्रा में होता है उपयोग कर रहा हूँ , कि मेरे गेम-लूप का अंतिम अपडेट लिया गया। वेग को लागू करने के लिए पर्याप्त आसान है:
x += velocity.x * deltaTime;
y += velocity.y * deltaTime;
लेकिन मैं deltaTime के लिए खाते में कैसे जब मैं उदासीनता संपत्ति गुणा कर सकते हैं? मेरा विचार था, एक्स या y में विस्थापन का पता लगाने और उस के लिए deltaTime गुणा, इस तरह के:
velocity.x += (velocity.x * velocity.damping - velocity.x) * deltaTime;
velocity.y += (velocity.y * velocity.damping - velocity.y) * deltaTime;
बाहर कर देता है कि काम नहीं करता। मैं वास्तव में समझ में नहीं आता क्यों, लेकिन जब मैं इसका परीक्षण करता हूं तो मुझे अलग-अलग परिणाम मिलते रहते हैं। अगर मैं बस डंपिंग को अनदेखा करता हूं या इसे 1.0 पर सेट करता हूं, तो सबकुछ काम करता है, इसलिए समस्या पिछले दो पंक्तियों में होनी चाहिए।
आप अंतिम कोड सेगमेंट में वेग को क्यों कम कर रहे हैं? – Matthias
(velocity.x * velocity.damping) नया velocity.x है। अंतर प्राप्त करने के लिए, मैं उस से मूल velocity.x घटाता हूं। स्पष्टीकरण के लिए – user1925315