kw.choi Posted May 16, 2011 Share Posted May 16, 2011 Hello, I want to rotate a WidgetSprite component. I wrote below code. It works well. { m_testWindow = new WidgetWindow( m_GUI , "test" ); m_testWindow.setSizeable( 1 ); m_testWindow.setWidth( m_width + 30); m_testWindow.setHeight( m_height + 50); m_testWindow.setPosition(m_posX, m_posY); } { m_testSprite = new WidgetSprite(m_GUI); m_testSprite.addLayer(); m_testSprite.setTexture("test.jpg"); m_testSprite.setLayerTransform(0, rotateZ(30.0f)); m_testSprite.setLayerTexCoord(0, vec4(0.0f, 0.0f, 1.0f, 1.0f)); } m_testWindow.addChild(m_testSprite); m_GUI.addChild( m_testWindow, GUI_ALIGN_OVERLAP ); But when I add some code. The WigetSprite doesn't rotate as I think. { m_testWindow = new WidgetWindow( m_GUI , "test" ); m_testWindow.setSizeable( 1 ); m_testWindow.setWidth( m_width + 30); m_testWindow.setHeight( m_height + 50); m_testWindow.setPosition(m_posX, m_posY); } { m_testSprite = new WidgetSprite(m_GUI); m_testSprite.addLayer(); m_testSprite.setTexture("test.jpg"); m_testSprite.setLayerTransform(0, rotateZ(30.0f)); m_testSprite.setLayerTexCoord(0, vec4(0.0f, 0.0f, 1.0f, 1.0f)); m_testSprite.setWidth( m_width ); m_testSprite.setHeight( m_height ); } m_testWindow.addChild(m_testSprite); m_GUI.addChild( m_testWindow, GUI_ALIGN_OVERLAP ); What's the problem? Link to comment
ulf.schroeter Posted May 16, 2011 Share Posted May 16, 2011 Maybe m_testSprite.setWidth( m_width ); m_testSprite.setHeight( m_height ); should be set before transform. Have a look into working sprite sample <UNIGINE-SDK>/data/saples/widgets/sripte_00.cpp and use it as template. Link to comment
kw.choi Posted May 17, 2011 Author Share Posted May 17, 2011 thank you. But that is not the problem. Not changed. Link to comment
manguste Posted May 24, 2011 Share Posted May 24, 2011 In both cases it is rotated by 30 degrees. But when you call setWidth() and setHeight() for the 2nd time, you simply resize the widget together with its rotated layer, i.e. make it smaller by X and Y. What did you want your code to do? Link to comment
Recommended Posts