Cocos Creator v1.7.0 内测版发布帖(11月17日更新 rc.2)

为了全屏显示啊。

在1.7.1中,我们会提供一个获取安全区域的方法。可以通过:
cc.director.getSafeAreaRect获取。

。。。游戏下方的按钮和安全区冲突了T . T

1.5.1在IPHONEX下也是全屏的。。。我很奇怪啊,1.5.1不是没做适配呢吗

怎么可能,1.5.1肯定留黑边啦。

真的。。。很神奇。。。。安全区那里并没有黑边。。。。

难道跟我勾选了fit height 和 fit width有关系=。=

合并后,isTargetPaused 方法 不是undefined了,但是貌似没有用啊,判断不了是真的停了没有,貌似一直返回false,但是明明是 paused

在Android Native上 this.countDowner.resumeTarget(this); 不会启动定时器

@jare,看这个PR, 不知道是不是一个问题
https://github.com/cocos-creator/engine/pull/2124

见demo NewProject.rar (133.0 KB)

应该是的

合并“comp.schedule should not use enabledInHierarchy to judge whether paused” 这个PR, 依然无法启动定时器

我用:

             var scheduler = cc.director.getScheduler();
             scheduler.schedule(this.onSchedulerCallback, this, 1, 100, 0, false);

             var self = this;

             function onCheckCallback(){
                var paused = scheduler.isTargetPaused(self);
                console.log("isTargetPaused:" + paused);
                setTimeout(onCheckCallback, 1000);
             };
             setTimeout(onCheckCallback, 1000);

             setTimeout(function(){
                        scheduler.pauseTarget(self);
                        }, 3000);

             setTimeout(function(){
                        scheduler.resumeTarget(self);
                        }, 6000);


             onSchedulerCallback: function(dt) {
                console.log("onSchedulerCallback: " + dt);
             },

以上测试代码完全正常的。

如果是component的schedule相关的方法,需要jare再看看。

抱歉,不是isTargetPaused判断不了,应该是Native下 resumeTarget 了以后定时器依然不启动。刚才表述不对。

@jare
Android Native下,schedule压根不会启动,不管怎么pause 还是 resume

const {ccclass, property} = cc._decorator;

@ccclass
export default class Scene1 extends cc.Component {
    private label = null;
    private countDowner: cc.Scheduler;
    private tempCount = 100;

    onLoad() {
        this.countDowner = cc.director.getScheduler();
        this.countDowner.schedule(this.coundDownCallback, this, 1, false);
        
        this.label = cc.find('Canvas/New Label').getComponent(cc.Label);
    }

    private coundDownCallback() {
        this.tempCount--;
        this.label.string = this.tempCount.toString();
    }

    public buttonClickCountDown(event, customEventData) {
        if (this.countDowner.isTargetPaused(this)) {
            this.countDowner.resumeTarget(this);
        }

        this.tempCount = Number(customEventData);
    }

    public buttonStartClick(event, customEventData) {
        if (this.countDowner.isTargetPaused(this)) {
            cc.log('启动了...');
            this.countDowner.resumeTarget(this);
        }
    }

    public buttonStopClick(event, customEventData) {
        if (!this.countDowner.isTargetPaused(this)) {
            cc.log('暂停了...');
            this.countDowner.pauseTarget(this);
        }
    }
}

为了严谨,又写了一个demo
NewProject1.rar (171.5 KB)

@jare @dumganhar

问题找到了,换成这种声明就可以了,刚才的重载在android native下无效。应该还是绑定层的问题,赶紧PR吧
this.countDowner.schedule(this.coundDownCallback, this, 1, cc.macro.REPEAT_FOREVER, 0, true);

给我点个赞吧 :grin:

2赞

「开发者->在当前场景使用指定图集替换 spriteFrame…」,这个功能是不是已经没有了

大家在用1.7的时候,有没有发现场景很容易崩溃. 就是场景文件被破坏.

你说的是制作场景的过程中么?目前没发现这个问题

现在都用自动图集了

这个写法不支持的问题,在以下PR中修复:

https://github.com/cocos-creator/cocos2d-x-lite/pull/1009

两个动作指的是什么哇?