主要是因为分辨率变化,可能导致两边被截了,显示不完全。
基于0.4版本 ,用 git 上example-case 在ccc1.8.2稳定版,导出到cocos2dx 3.16,直接就报错了:
E:\cocos\example-cases\packages\creator-luacpp-support\core\parser\Label.js:61 Uncaught can not find font file for uuid: b9c2f4b1-22a0-440a-9a97-9f801fe5b2a4
parse_properties @ E:\cocos\example-cases\packages\creator-luacpp-support\core\parser\Label.js:61
create_node @ E:\cocos\example-cases\packages\creator-luacpp-support\core\parser\Utils.js:300
parse_child @ E:\cocos\example-cases\packages\creator-luacpp-support\core\parser\Node.js:204
直接导出的 GitHub 插件仓库 creator_project 报错?还是自定义的 creator 工程,正常来说,这个我们测试组测过的,不会出现连自带测试工程的跑不通的情况。
https://github.com/cocos-creator/example-cases
https://github.com/cocos2d/creator_to_cocos2dx
http://www.cocos.com/download 底下的ccc1.8.2 , 2dx 3.16
Timeline的 animation clip还有别的:
postion不准确,
opacity有效果,但是颜色会不对,像是预乘不对
rotation,scale,skew 有效果
width,height,spriteFrame没有效果,这些有没有支持计划,特别是spriteFrame,可以做帧动画
你尝试的 example-cases 是 creator 全部特性的测试例,现在插件没有完全支持全部特性,所以报错。
插件的 creator 测试项目是插件仓库的 creator_project 目录,clone 后直接用 creator 打开 creator_project 目录,可以看到不同的测试场景。这里面的是支持的,测试项目的场景列表是:

spriteFrame 是支持的,用法上参考刚才说的测试工程,导出后的用法参考这里:
https://github.com/minggo/cocos2d-x/tree/creator-cpp-support-test-v315/tests/cpp-empty-test/Classes
团队里人力有限,有优先级更高的事情,打断插件的开发,导致最近插件进展比较缓慢。还是很希望社区能力较强的人,能参与开发,像 @kuovane 一样。
GitHub 上有 readme 介绍,wiki 上有一个指导,issues 和 pr 上也有一些讨论,希望多多关注。
缩放的问题,@kuovane 提到了,你可以按照他的方式修复,上面有提到一个透明度的注释,不确定是不是那里的原因,你可以试着分析,[quote=“2627993092, post:46, topic:58661”]
透明度的 bug 可能和这里相关, CreatorReader::parseSprite 方法注释了一段代码,希望有所帮助
[/quote]
position 没发现有明显的问题,有一个测试例消失了,暂时没分析原因
检查一下 mac 是否有老版本插件,把现有的 creator to cpp 插件都卸载,在 mac 上重新安装。再尝试导出,相关帖子。
http://forum.cocos.com/t/cocos-creator-mac-windows/59598/6?u=2627993092
插件都是V0.4
我现在暂时不用这个插件了,确实有问题,懒得弄了,我工作机和家用机一起用的,之前插件升级之后总是报错,我直接卸载了creator重新安装就好了,后来在工作机上边编辑的界面,家用机上面打开报找不到各种纹理,可是纹理明明在资源目录的。目前又手撸界面



PolygonCollider 的node 节点的角度变成90度,编辑器显示的也是90度,为什么程序实现还是 水平的?
void PolygonCollideComponent::update()
{
float minx = std::numeric_limits::max();
float miny = minx;
float maxx = std::numeric_limits::min();
float maxy = maxx;
cocos2d::Vec2 tempVec2;
const auto& transform = getNodeToWorldTransformAR();
_worldPoints = _points;
for (size_t i = 0, len = _worldPoints.size(); i < len; ++i)
{
tempVec2.x = _points[i].x + _offset.x;
tempVec2.y = _points[i].y + _offset.y;
auto p = _worldPoints[i] = cocos2d::PointApplyTransform(tempVec2, transform);
if (p.x > maxx) maxx = p.x;
if (p.x < minx) minx = p.x;
if (p.y > maxy) maxy = p.y;
if (p.y < miny) miny = p.y;
}
_AABB.origin.x = minx;
_AABB.origin.y = miny;
_AABB.size.width = maxx - minx;
_AABB.size.height = maxy - miny;
}
这里面没有角度 变量吗?

![]()
这里面有 getNodeToWorldTransformAR 调用了目标 node 的坐标计算 _target->getNodeToWorldTransform(); 有计算到 node 的 Rotation 属性。
确认问题存在的话,麻烦提一个 issues,如果问题得到解决的话,可以提 PR
没有解决。无法改变角度
"void ColliderManager::addCollider(Collider* collider)
{
const auto& result = std::find(_colliders.begin(), _colliders.end(), collider);
if (result == _colliders.end())
{
for (auto& other : _colliders)
if (shouldColider(collider, other))
_contracts.pushBack(new Contract(collider, other));
_colliders.pushBack(collider);
}
}"
"new Contract(collider, other)" 这个不算内存泄露吗? 没有对应的 Delete Contract???
点击保存。 .plist文件会消失 ,这个bug是什么原因?
场景倒是能够导出,也用C++工程里运行了场景,但是JS代码没有导出,C++工程怎么用代码控制导出场景?是使用JS代码控制,还是用C++代码控制类似于Studio那样?
从场景的节点树上,通过节点名字获取节点,用 C++ 控制,不支持导出 JS 代码逻辑。


