2012-11-02 11 views
8

मैं अपने गेम में कुछ यूआई बनाने के लिए libgdx लाइब्रेरी में scene2d का उपयोग कर रहा हूं।क्यों लिबडक्स की तालिका स्केल एक्शन स्वीकार नहीं करती है?

मैंने एक टेबल का उपयोग किया और जब मैं बटन को स्पर्श करने के लिए स्पर्श करता हूं तो मैं कुछ स्केलिंग कार्रवाई करना चाहता हूं।

जब मैंने समूह जैसे किसी अन्य "अभिनेता" प्रकार का उपयोग किया और इसे स्केल एक्शन दिया तो यह काम करता है लेकिन टेबल नहीं।

यह मेरा तालिका परिभाषा है:

table.addAction(Actions.scaleTo(0.8f, 0.8f, 0.1f)); 

और touchup में मैं इसे मूल पैमाने प्राप्त करने के लिए एक और कार्रवाई दे::

Table table = new Table(); 
table.setSize(width, height); 
table.setPosition(x, y); 
table.setOrigin(width/2, height/2); 
table.add(new Label(...)); 
table.row(); 
... 

और मेरे टचडाउन स्थिति में मैं इसे पैमाने कार्रवाई दे

table.addAction(Actions.scaleTo(1f, 1f, 0.1f)); 

जैसा कि मैंने कहा था कि यह कोड छवि और समूह जैसे अन्य प्रकार के अभिनेताओं के लिए काम करता है। कोई विचार है कि टेबल के लिए क्यों काम नहीं करता है?

उत्तर

15

अपने ही सवाल का उत्तर देना:

आदेश में libGdx के दस्तावेज़ (https://code.google.com/p/libgdx/wiki/scene2dui#Rotation_and_scale) तालिका नहीं स्केलिंग और घूर्णन करता है, तो यह पृष्ठभूमि स्थापित किया गया था है समर्थन करता है।

हम पैमाने पर करने के लिए चाहते हैं और/या तालिका हम नीचे कोड की तरह व्यवहार करने के लिए है बारी बारी से हैं:

TextButton button = new TextButton("Text Button", skin); 
Table wrapper = new Table(); 
wrapper.add(button); 
wrapper.setTransform(true); 
wrapper.setOrigin(wrapper.getPrefWidth()/2, wrapper.getPrefHeight()/2); 
wrapper.setRotation(45); 
wrapper.setScaleX(1.5f); 
+2

पुस्तकालय के नवीनतम संस्करण में (0.9.8) 'setTransform' कमी रह गई है, लेकिन आप इसके बजाय 'सेटक्लिप (सत्य)' कह सकते हैं जो साइड इफेक्ट के रूप में परिवर्तित करने में सक्षम बनाता है। – Nick

+1

@ निक - सेट ट्रान्सफॉर्म अभी भी 0.9.8 के तहत है। यह 'समूह' की एक विधि है http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/scenes/scene2d/Group.html#setTransform%28boolean%29 – Pool

+0

मेरे लिए काम किया, thanx! –

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