Cocos Creator v1.5.1 内测版发布帖(6月9日更新 beta.4.2)

上传个 demo 我测试下?

能否找一下出问题的是哪个脚本?我们需要知道具体是什么样的脚本会引起这个问题

公司项目不方便上传,你就随便用个不规则图,创建多边形物理碰撞区,再设置这个节点的scale用来与一个正方形物理碰撞区碰撞。如果一定要上传个包的话,我下班再上传一下

我下班做个demo上传

1.5 执行类似这种动作,
cc.sequence(
cc.scaleTo(0.5, 1.5),
cc.sequence(
cc.moveBy(0.05, 20, -20),
cc.moveBy(0.05, -20, 20),
).repeat(100)
)

很经常
cc.sequence(
cc.moveBy(0.05, 20, -20),
cc.moveBy(0.05, -20, 20),
).repeat(100)
这个动作就没执行? 或者执行完, 居然位移了, 是写法问题, 还是引擎的bug?

以我的经验,你这个是不是写在onload?或者start?
你这个action应该去下一帧执行,使用scheduleOnce

第一次用creator装的1.5,装了插件creator_to_cocos2dx-alpha1,将ui转到lua显示,sprite的半透明边缘偏黑。在编辑器里显示正确,使用cocos原生scale9sprite加载,显示正确。

上图是两九宫格局部截图,最上面的是cocos语句显示,下面是creator的,(button也不正确也是creator to lua 方式加载不过是其他资源)。
原始资源

我测试了还是不行, 也试过下一帧的, 下面是原始的。

onLoad: function () {

        this.sunNode = this.node.getChildByName("sun");
        this.sunNode.runAction(cc.sequence(
            cc.scaleTo(0.5, 1.5),       //如果注释掉这句下面就会抖动了
            cc.sequence(
                cc.moveBy(0.05, 20, -20),
                cc.moveBy(0.05, -20, 20),
            ).repeat(100),
        ));

不过我其实是纠结, 为什么这样写不行, 动作有问题吗?感觉没问题啊, 正常且正确的写法啊?

贴一下源码
local creatorReader = cc.CreatorReader:createWithFilename(‘res/creator/aixinchang.ccreator’)
creatorReader:setup()
local node = creatorReader:getRootNode()
bg:addChild(node)
local children = node:getChildren()
for i,v in ipairs(children) do
local name = v:getName()
if name == “axc_bg_spr9_1” then
local textrue = v:getTexture()
print(“aaaa”)
– textrue:PVRImagesHavePremultipliedAlpha(false) --此句运行不通过,貌似没有tolua的函数
– print(“hasPremultipliedAlpha:”,textrue:hasPremultipliedAlpha()) —此处print为true
break
end
end
– local sp = cc.Sprite:create(‘res/creator/axc.png’)
– sp:setPosition(200,200)
– bg:addChild(sp)
local sp9 = cc.Scale9Sprite:create(‘res/creator/axc_bg_spr9_1.png’)
sp9:setPreferredSize( { width=500, height=300 })
bg:addChild(sp9)
sp9:setPosition(600,200)

c++部分仿getSceneGraph写了一个getRootNode
cocos2d::Node* CreatorReader::getRootNode() const
{
const void* buffer = _data.getBytes();

auto sceneGraph = GetSceneGraph(buffer);
auto nodeTree = sceneGraph->root();
cocos2d::Node* child = nullptr;
CCLOG("NodeTree: %p", nodeTree);
const auto& children = nodeTree->children();
for (const auto& childBuffer : *children) {
	child = createTree(childBuffer);		
}
return static_cast<cocos2d::Node*>(child);

}

单元测试即使用getSceneGraph效果是一样的

你的node上是不是有widget?,还有检查父结点上是不是layout之类的对子结点位置会改动的组件

没有, 模拟器是正常的, 浏览器会有问题, 应该就是引擎的bug了, 至少他模拟器跟浏览器表现不一样。

麻烦在 cocos2d-x 下建个新的帖子吧。这里内容太多了不利于讨论。

mac 1.5正式版toggle有问题啊,原来1.4.2正常的,现在点几次都是选择不中的状态,突然某次又能选中:sweat_smile:

构建时app/local.properties生成了sdk路径和ndk路径,但编译的时候,就只剩sdk路径了,导致编译失败,提示找不到ndk,能更新的都更了,也用as编译过,但ccc的编译就是不行T_T

升级 platform-tools 到25.3以上就可以了

var shou=this.node.getChildByName(‘shou’);
var repeat = cc.repeatForever(cc.sequence(cc.moveBy(1, cc.p(20,0)),cc.moveBy(1, cc.p(-20,0))));

    shou.runAction(cc.sequence(
        cc.fadeIn(2),
    ));
    
    shou.runAction(repeat);
    this.scheduleOnce(function(){
        shou.runAction(cc.sequence(
            cc.fadeOut(2),
        ));
    },4);

这段代码怎么失效了呢?
shou.runAction(cc.sequence(
cc.fadeIn(2),
));这段代码不注释掉的话会黑屏。
Simulator: /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/simulator/mac/Simulator.app/Contents/Resources/src/jsb_polyfill.js:97:Error: Assert 1618, please go to https://github.com/cocos-creator/engine/blob/master/EngineErrorMap.md#1618 to see details.
上述错误。
1618
cc.Node.runAction(): action must be non-null
---------------------
注释掉后,下面的fadeOut也没生效,是引擎的问题么?还是写法变了?之前1.4系列的时候没有问题
beta1
beta2也测试了,同样问题
@nantas

shou.runAction(
//cc.sequence(
cc.fadeIn(2),
//)
);
改成这样的就对了,为什么呢?
官方可以帮我看看这个是为什么么?@zilong

没用…都升了…用ccc的编译…还是提示没找到NDK
构建完成后…local.properties是有ndk路径的
点编译后…ndk路径就没了

这几天一直没有空,现在把demo做好了,不过只有生成多边形的碰撞区BUG的demo,碰撞区失效的那个我上班了,再在公司项目上查查原因,这个问题我现在没有弄出来物理引擎多边形自动生成的BUG.zip (606.0 KB)