Merge branch 'v3' of https://github.com/cocos2d/cocos2d-x into v3_hot_fix

This commit is contained in:
samuele3hu 2014-07-15 13:34:46 +08:00
commit 19cc5b9c4d
4 changed files with 24 additions and 13 deletions

View File

@ -10,6 +10,7 @@ cocos2d-x-3.2 ??
[FIX] SpriteBatchNode: opacity can not work [FIX] SpriteBatchNode: opacity can not work
[FIX] Sprite3D: may crash on Android if playing animation and replace Scene after come from background [FIX] Sprite3D: may crash on Android if playing animation and replace Scene after come from background
[FIX] UIdget: opacity is wrong when replace texture [FIX] UIdget: opacity is wrong when replace texture
[FIX] UIText: can not wrap words automatically
[FIX] UITextField: keyboard can not hide if touching space outside of keyboard [FIX] UITextField: keyboard can not hide if touching space outside of keyboard
[FIX] Others: don't release singleton objects correctly that are needed in the whole game, which will be treated [FIX] Others: don't release singleton objects correctly that are needed in the whole game, which will be treated

View File

@ -296,7 +296,6 @@ void Text::labelScaleChangedWithSize()
{ {
if (_ignoreSize) if (_ignoreSize)
{ {
_labelRenderer->setDimensions(0,0);
_labelRenderer->setScale(1.0f); _labelRenderer->setScale(1.0f);
_normalScaleValueX = _normalScaleValueY = 1.0f; _normalScaleValueX = _normalScaleValueY = 1.0f;
} }

View File

@ -456,16 +456,18 @@ public:
/** /**
* Ignore the widget size
* *
* @param ignore, true that widget will ignore it's size, use texture size, false otherwise. Default value is true. * Note: when you set _ignoreSize to true, no matther you call setContentSize or not,
* the widget size is always equal to the return value of the member function getVirtualRendererSize.
*
* @param ignore, set member variabl _ignoreSize to ignore
*/ */
virtual void ignoreContentAdaptWithSize(bool ignore); virtual void ignoreContentAdaptWithSize(bool ignore);
/** /**
* Gets the widget if is ignore it's size. * Query whether the widget ignores user deinfed content size or not
* *
* @param ignore, true that widget will ignore it's size, use texture size, false otherwise. Default value is true. * @return bool
*/ */
bool isIgnoreContentAdaptWithSize() const; bool isIgnoreContentAdaptWithSize() const;
@ -485,15 +487,9 @@ public:
*/ */
virtual Node* getVirtualRenderer(); virtual Node* getVirtualRenderer();
// /**
// * Gets the content size of widget.
// *
// * Content size is widget's texture size.
// */
// virtual const Size& getContentSize() const;
virtual const Size& getVirtualRendererSize() const; virtual const Size& getVirtualRendererSize() const;
/** /**
* Returns the "class name" of widget. * Returns the "class name" of widget.

View File

@ -40,10 +40,25 @@ bool UITextTest_LineWrap::init()
_uiLayer->addChild(alert); _uiLayer->addChild(alert);
// Create the line wrap // Create the line wrap
Text* text = Text::create("Text can line wrap","AmericanTypewriter",32); Text* text = Text::create("TextArea Widget can line wrap","AmericanTypewriter",32);
text->ignoreContentAdaptWithSize(false); text->ignoreContentAdaptWithSize(false);
text->setContentSize(Size(280, 150)); text->setContentSize(Size(280, 150));
text->setTextHorizontalAlignment(TextHAlignment::CENTER); text->setTextHorizontalAlignment(TextHAlignment::CENTER);
text->setTouchScaleChangeEnabled(true);
text->setTouchEnabled(true);
text->addTouchEventListener([=](Ref* sender, Widget::TouchEventType type)
{
if (type == Widget::TouchEventType::ENDED)
{
if ((int)text->getContentSize().width == 280)
{
text->setContentSize(Size(380,100));
}else
{
text->setContentSize(Size(280, 150));
}
}
});
text->setPosition(Vec2(widgetSize.width / 2.0f, widgetSize.height / 2.0f - text->getContentSize().height / 8.0f)); text->setPosition(Vec2(widgetSize.width / 2.0f, widgetSize.height / 2.0f - text->getContentSize().height / 8.0f));
_uiLayer->addChild(text); _uiLayer->addChild(text);