使用Cocosbuilder, 添加九宫格控件,然后设置图片,如果图片是从plist中加载的,在游戏中就可能有问题。
当plist中的图片旋转过的话,在游戏中就会显示错误。
找了大半天,终于发现是CCScale9Sprite对plist中的旋转图片加载有问题。
解决方法:
打开 CCScale9Sprite.cpp 第750行。
也就是 CCScale9Sprite::setSpriteFrame 函数里面,在函数开头添加一行:
m_bSpriteFrameRotated = spriteFrame->isRotated();
其实,搜索 bSpriteFrameRotated 这个变量也能发现问题,因为这个变量只有构造函数初始化为false, 之后再没修改过这个变量,
就这样,解决 Cocos2d-x Cocosbuilder 九宫格显示不对的bug.