Feedbacks of v3.0-beta

@l4u Because new template containers are NOT compatible with old CCArray and CCDictionary.

Please create new separate thread for issues.
I think this thread is not used for all specific issues.

Thanks.

I use Qt5 import cocos2dx3.0bate2 project. it is running well, when I use this code auto pLayer = GUIReader::getInstance()->widgetFromJsonFile("Buttons_1.ExportJson"); in my project , my project crush compile error.

this pic will tell you my errors, please check this pic and help me

Hi guys,

I saw that you changed some function names in rapidjson

e.g. MemberBegin is now MemberonBegin

Looks like this was not intended and due to some batch renaming.

Thomas

Now TextField widget can’t support Chinese character input, I looked through the src code found that TextFieldTTF::insertText()
{
std::string insert(text, len);
}
will cut a unicode char into 1/2, and LabelTTF::setString() seems doesn’t like Label::setString() that handle unicode chars well,pls fix it,thx!

FileUtils fails to save data?

Please check my thread here:

Maybe FileUtils is not working because the tests still use Dictionary even though it’s deprecated?

Problem with Label rendering:

Setting the position of a CCLabel takes 2 frames to take effect. So the position is not changed in the next, but in the frame after the next frame.

Setting the string or color will have an immediate effect in the next frame.

Found the reason. We are changing the test and position within the notification node of the director. This is no longer working as it was in V2. Is there a reason , that the notification node is visited in the middle of Director::drawScene? Would it make sense to move it to the beginning?

fps counter is behind everything else if you use globalZOrder. The FPS labels have globalZOrder of 0. Fixed by giving them a very high globalZOrder.

The texture iD issue was fixed at https://github.com/cocos2d/cocos2d-x/pull/5472 .
The texture ID was extended from 18bit to 32bit. It will resolve the problem.

hi,when I use ControlPotentiometer,there are errors.

since beta 2 I can not detect more than 1 touch, EventListenerTouchAllAtOnce looks not working,
the same code is working fine with beta 1


auto dispatcher = Director::getInstance()->getEventDispatcher();
auto listenerM = EventListenerTouchAllAtOnce::create();
listenerM->onTouchesMoved = CC_CALLBACK_2(CTouchManager::onTouchesMoved, this);
listenerM->onTouchesBegan = CC_CALLBACK_2(CTouchManager::onTouchesBegan, this);
listenerM->onTouchesEnded = CC_CALLBACK_2(CTouchManager::onTouchesEnded, this);
listenerM->onTouchesCancelled = CC_CALLBACK_2(CTouchManager::onTouchesCancel, this);
dispatcher->addEventListenerWithSceneGraphPriority(listenerM, mNode);

void CTouchManager::onTouchesBegan(std::vectorcocos2d::Touch* touches, cocos2d::Event* event)
{

int tSize=touches.size(); // tSize is always 1 :frowning:

}

Any idea? I read the same question from another guy without reply…

another strange thing, with SpriteBatchNode I need to manually increase atlas capacity using increaseAtlasCapacity when adding a child to the batch node else
1/ app crache here
void SpriteBatchNode::swap(ssize_t oldIndex, ssize_t newIndex)
{
CCASSERT(oldIndex>=0 && oldIndex < (int)_descendants.size() && newIndex >=0 && newIndex < (int)_descendants.size(), “Invalid index”);
or
2/no crash but not rendered
Any idea?
Since i build all my project from beta1 to beta2 I’m really asking if it was a good idea to start a new project with V3 :frowning:
Please reply about this and previous question (EventListenerTouchAllAtOnce looks not working), I’m really afraid to continu my project.

Regards,

the problem with beta 2 is:
when you reach atlas capacity and you add a sprite in the batchnode we have
cocos2d: cocos2d: SpriteBatchNode: resizing TextureAtlas capacity from [29] to [40]. -> this is normal
BUT
the sprite is not rendered because he has the same texture that the other one…

Hi Fabrice,
You received a solution? because I have exactly the same problem as you!
Thanks

@fabrice I met this multi-touch problem (ios), that’s because no open multi-touch mode of the rootviewconctroller, you have to start it:[__glView setMultipleTouchEnabled:YES];

Thank you I added in “appcontroler.mm”
[__glView setMultipleTouchEnabled:YES];
and now all is working fine !

@ricardo @walzer @zhangxm In cocos2dx 2.x.x and cocos2dx 3.0 alpha,(CC)Sprite’s draw() function is different from 3.0 beta Sprite’s draw(),which cause this problem: “In old versions,if I wrote something like DrawSolidRect() in draw() function,and create a Sprite in that layer,the DrawSolidRect()'s effect would be covered by the Sprite.So we set the Sprite’s ZOrder to -1,and so it is smaller than zero(http://blog.csdn.net/crayondeng/article/details/12585479 ),which solved my problem. But now,I changed my platform to cocos2dx 3.0 beta2, the new Sprite’s draw() make that “ZOrder solution” doesn’t work any more. No matter how small the ZOrder is,DrawSolidRect() always be covered forever”.
I doubt that 3.0 beta’s Sprite new draw() is imperfect,although it’s neater than old draw(). I tried to understand the new draw() and fix it,but I don’t have time enough.So Anybody knows why? and how to solve the “DrawSolidRect() covered”'s problem in 3.0 beta.

Hi guys, can some of u plz help me with my post, I’m newbie

How to make DrawNode anti-alias?
And why drawQuadraticBezier draws not a curve but a shape with a line and a curve?