मैं कुछ छवियों को संग्रहीत करने के लिए समूह का उपयोग करता हूं और उन्हें स्प्राइटबैच पर खींचता हूं। अब मैं यह जानना चाहता हूं कि कौन सी छवि पर क्लिक किया गया है। इस कारण से मैं टच डाउन पर एक ईवेंट प्राप्त करने के लिए समूह में एक इनपुट लिस्टनर जोड़ता हूं। इनकमिंग इनपुटपुट को एक विधि मिली है (getTarget) जो क्लिक किए गए अभिनेता का संदर्भ देता है।पारदर्शी छवियों को ओवरलैप करने वाले समूह के लिए इनपुट पहचान
यदि मैं किसी अभिनेता के पारदर्शी क्षेत्र पर क्लिक करता हूं तो मैं आने वाली घटना को अनदेखा करना चाहता हूं। और यदि इसके पीछे एक अभिनेता है तो मैं इसके बजाय इसका उपयोग करना चाहता हूं। मैंने इस तरह कुछ सोचा:
myGroup.addListener(new InputListener() {
@Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
Actor targetActor = event.getTarget();
// is the touched pixel transparent: return false
// else: use targetActor to handle the event and return true
};
});
क्या यह करने का सही तरीका है? मैंने सोचा कि विधि टचडाउन के लिए झूठी वापसी करना घटना के लिए प्रचार जारी रखेगा और मुझे उसी स्थिति में अन्य अभिनेताओं के लिए टचडाउन कार्यक्रम भी प्राप्त करने देगा। लेकिन इस एक गलतफहमी हो रहा है ...
अद्यतन
P.T.s जवाब सही घटना हो रही है की समस्या का हल। अब मुझे यह पता लगाने में समस्या मिली है कि हिट पिक्सेल पारदर्शी है या नहीं। ऐसा लगता है कि मुझे पहुंच प्राप्त करने के लिए छवि को पिक्समैप के रूप में चाहिए। लेकिन मुझे नहीं पता कि एक छवि को पिक्समैप में कैसे परिवर्तित किया जाए। मुझे यह भी आश्चर्य है कि यह प्रदर्शन और स्मृति उपयोग के संदर्भ में एक अच्छा समाधान है ..
आप छवि से पिक्समैप तक नहीं जाते हैं। आप पिक्समैप से बनावट तक चित्रकारी में छवि तक जाते हैं। – NateS
क्या आपने जो समाधान प्रदान किया है, क्या आपने कोशिश की? – ManishSB