Cocos Creator v1.7.2 测试版发布帖(12月21日更新 beta.2)

融资第一波先去度假,666

我按照 @dumganhar 的方法,在试试,然后告诉大家结果。

重新构建,增加了。

  • (BOOL)prefersHomeIndicatorAutoHidden {
    return YES;
    }
    可以了。

mac 1.7.2beta1, 自定义引擎用的1.7.1分支
调用node.schedule方法 会报错.
TypeError: scheduler.isTargetPaused is not a function. (In ‘scheduler.isTargetPaused(this)’, ‘scheduler.isTargetPaused’ is undefined), location: src/jsb_polyfill.js:8980:48
STACK:
schedule@src/jsb_polyfill.js:8980:48

看jsb_polyfill.js报错位置的截图:

我看了下 isTargetPaused方法 并没有js的定义, 也没有js-binding的实现.
这是 什么问题

自定义引擎请用 v1.7-release 分支

使用 自己实现的Node会报错.
我们自己实现了 一个c++的Node 继承自, CCNode, 执行过js-binding绑定了.
现在js那边把他创建成sgNode, 会报错:
ERROR: TypeError: sgNode.setColor is not a function. (In ‘sgNode.setColor(node._color)’,
‘sgNode.setColor’ is undefined), location: src/jsb_polyfill.js:10919:26
STACK:
_appendSgNode@src/jsb_polyfill.js:10919:26
__preload@src/jsb_polyfill.js:10903:29
anonymous
invoke@src/jsb_polyfill.js:16489:23
activateNode@src/jsb_polyfill.js:16582:32
_activate@src/jsb_polyfill.js:6493:50
runSceneImmediate@src/jsb_polyfill.js:30542:28


setColor是CCNode的方法, 这个 方法 也要在子类中 单独实现吗

知道问题了,
在AppDelegate.cpp里面
自己定义的register_xxx 都有放到 jsb_register_all_modules()后面执行.
否则__jsb_cocos2d_Node_proto 这个对象是空的

Mac系统生产工程,windows环境确实不能编译 cocos creator 1.7 有人能试试不? https://github.com/sujiewen/TestCocos

1.6时代就有这个bug

想升级到1.7 下载了一下 1.7.2beta.1版本
以前的 constructor 问题还是调用两次
就用console.err() 进行打印定位到引擎代码块 如图


看到创建构造了两次 一次是绑定@property的 我找到运行文件 注释掉就不会调用两次了

找到引擎代码 CCClassDecorator.js 198行 仔细看了一下 确实是绑定@property的

// CCClassDecorator.js
// member variables
        var defaultValue = undefined;
        var isDefaultValueSpecified = false;
        if (desc) {
            // babel
            if (desc.initializer) {
                // @property(...)
                // value = null;
                defaultValue = getDefaultFromInitializer(desc.initializer);
                isDefaultValueSpecified = true;
            }
            else {
                // @property(...)
                // value;
            }
        }
        else {
            // typescript
            var actualDefaultValues = cache.default || (cache.default = extractActualDefaultValues(ctor));
            if (actualDefaultValues.hasOwnProperty(propName)) {
                // @property(...)
                // value = null;
               defaultValue = actualDefaultValues[propName];
                isDefaultValueSpecified = true;
            }
            else {
                // @property(...)
                // value;
            }
        }

在项目中在构造中 使用@property进行绑定控件 编辑器中查看根本没有显示这个属性
图片:

#麻烦引擎组大大看看那段代码是否多余 附上测试代码TestPro.rar (207.5 KB)

不是说过段时间就发布1.7.1版本的么,都去度假了?

你好,构造确实会进行两遍,这个会有影响吗?这个是设计的一部分,不算是 bug 吧。
你后面那个截图中的红框部分,我看不懂,怎么会在构造参数里调用 property decorator?

看来jare大没有代码洁癖~

1.我上面的截图constructor中红框中的属性只是测试看的 说的是 CCClassDecorator.js 中的有检测构造中的属性

2.项目中有在 constructor 构建里面 注册相应的 监听事件结果 每次都是执行多个 如果是多个地方绑定同一个脚本的话会执行n*2遍
1.6里面是好的 我测试过 发现其他场景还没加载到 用到的类也进行构建了 没仔细研究验证过感觉会增加内存申请

decorator 是给组件用的吧?组件本来就不推荐定义构造函数。请在其它函数做你说的这些操作。

mac版本下载不动,win可以。不知道是我的问题还是什么别的理由,我先用win了,如果有人有同样的状况再说。

使用1.7.2,新建项目创建的脚本都挂载不上去提示丢失“Can not find class ‘a9a50s9xlxKsoZeNJ1UPaO9’”,怎么解决?

好吧,是插件窗口的问题,插件窗口1.7.2版本下脚本都提示not find,,用游览器和模拟器就没问题

你好:
目前用1.7.0.rc2,偶然會遇到切換場景時carsh,查了一下,跟這個人描述的情況很像 [這裡]
(http://forum.cocos.com/t/cocos-creator-v1-7-0-11-17-rc-2/51658/726?u=hhg4092)
JSValueRef rcValue = JSObjectCallAsFunction(__cx, _obj, contextObject, args.size(), jsArgs, &exception);这行报了一个错误,现在无法重现,很偶然

都是斷在這行,
我看我的版本cocos 源碼也修正了,是不是還有什麼我沒注意到的?

1.7.2 beta.1 修复了很多 JSB 相关的 bug,建议升级试试。