मैं कण अंकीय-Libgdx को स्केल करना चाहता हूं



scale scaling (1)

सबसे पहले, मैं यह बताना चाहता हूं कि वर्तमान दृष्टिकोण काम क्यों नहीं करता। ध्यान दें कि जिस पद्धति का आप स्केलिंग के लिए इस्तेमाल करते हैं वह scaleEffect नामक नहीं है, सेट नहीं है। हर बार जब आप इसे कॉल करते हैं, तो प्रभाव उसके वर्तमान स्थिति के मुकाबले बढ़ाया जाएगा। जब आप पूल कण प्रभावों का उपयोग करते हैं, तो आप प्रभाव को कई बार कण के रूप में पुन: उपयोग में लाते हैं। यही कारण है कि आप इसे तेजी से स्केलिंग देखते हैं

इसलिए, समाधान केवल कण प्रभाव को पैमाने पर देना है जिसे आप पूल के लिए प्रोटोटाइप के रूप में उपयोग करते हैं। कुछ इस तरह:

prototypeEffect.scaleEffect(Values.Scalar_Width * 1.3f);
ParticleEffectPool yellow_star_pool = new ParticleEffectPool(prototypeEffect, 10, 100);

फिर आपको हर कण प्रभाव को प्राप्त करने के लिए स्केल नहीं करना था।

असल में मेरी समस्या सरल है - मेरे पास कण अंकीय है जो छोटी स्क्रीन पर अच्छा लगता है, लेकिन मेरे निजी फोन पर (सैमसंग एस 4) यह बहुत छोटा दिखता है मेरा प्रश्न यह है कि: मैं प्रभाव कैसे बढ़ा सकता हूं?

मैंने पहले से ऐसा कुछ किया है:

// Callback method
   public void addEffect(Vector2 position, boolean special) {
      // Callback Method for the particle effects
      PooledEffect effect;
      if (!special)
         effect = (MathUtils.random(0, 1) == 0) ? yellow_star_pool.obtain()
               : green_star_pool.obtain();
      else
         effect = special_star_pool.obtain();
      effect.setPosition(position.x, position.y);
      effect.scaleEffect(Values.Scalar_Width*1.3f);
      effects.add(effect);
   }

लेकिन इसका नतीजा यह है कि प्रभाव तेजी से स्केल किया जा रहा है, जो कुछ मैं नहीं चाहता हूं।

मैं सिर्फ प्रभाव को स्केल किया जाना चाहता हूं ताकि यह सभी स्क्रीन पर एक ही दिखेगा। मैं उसे कैसे प्राप्त कर सकता हूं?