मैं कुछ साधारण 2 डी गेम प्रोग्रामिंग का अभ्यास कर रहा हूं, और एक सिद्धांत के साथ आया कि एनीमेशन के दौरान (छवि स्थिति में वास्तविक परिवर्तन सबसे अच्छी तरह से फ़्लोटिंग पॉइंट नंबरों के साथ गणना की जाती है)। मुझे एहसास है कि यदि आप इन्ट्स के साथ एक छवि को स्थानांतरित करते हैं तो एनीमेशन उतना आसान नहीं होगा।क्या होता है जब डबल (या फ्लोट) को इन्स में परिवर्तित किया जाता है?
जावा में ऐसा लगता है कि आप छवि को स्थिति देने के लिए फ़्लोटिंग पॉइंट नंबरों के साथ एक छवि नहीं खींच सकते हैं। लेकिन स्पष्ट रूप से जब आप शुरुआत में अपने x और y की घोषणा करते हैं, तो आप उन्हें डबल, या फ़्लोट के रूप में घोषित कर सकते हैं, और जब वास्तव में छवि को चित्रित करने की बात आती है तो आपको उन्हें इनट्स पर डालना होता है। जैसे मुझे HERE:
/**
* Draw this entity to the graphics context provided
*
* @param g The graphics context on which to draw
*/
public void draw(Graphics g) {
sprite.draw(g,(int) x,(int) y);
}
मेरा प्रश्न यह है कि जावा रूपांतरण को कैसे प्रबंधित करता है? यदि कोड आखिरी मिनट में इन युगल को रोकता है, तो उन्हें पहले स्थान पर दोगुनी क्यों है? क्या जावा दशमलव के बाद संख्याओं को छुपाता है?
मुझे सी और सी ++ में दशमलव के कट होने के बाद संख्याओं में पता है और आप केवल इससे पहले क्या देखते हैं। जावा इस कास्टिंग को कैसे संभालता है?
यह सी, सी ++ के समान दशमलव को छोड़ देता है। http://www.fluffycat.com/Java/Casting/ – dmcnelis
आपको जितना संभव हो उतना दोगुनी गणना करना चाहिए, और जब आप अंततः इसे स्वीकार करने वाली विधि में पास करते हैं, तो आप Math.round() करते हैं। – Stephan