CocosCreator动作系统遇到的坑

1:cc. fadeIn,cc.fadeOut渐隐渐显效果,调用这个两个api的时候必须要先把node的alpha对应的设置为255,0不然调用这两个API会无效

2:cc.bezierTo,使用贝塞尔曲线的时候需要吧node的位置设置到起始位置,不然轨迹不会从起始位置开始动,会从从你当前node的位置开始移动

3:cc.callFunc动作回调,这个坑最大
官方的API:

!#zh 执行回调函数。
    @param selector selector
    @param selectorTarget selectorTarget
    @param data data for function, it accepts all data types.

    @example 
    ```js
    // example
    // CallFunc without data
    var finish = cc.callFunc(this.removeSprite, this);

    // CallFunc with data
    var finish = cc.callFunc(this.removeFromParentAndCleanup, this._grossini,  true);
    ``` 
    */
    export function callFunc(selector: Function, selectorTarget?: any, data?: any): ActionInstant;  

    例子:
    let callBack = cc.callFunc(this.func,this,this);
    let action = cc.moveTo(1,cc.p(10,10));
    let sequence = cc.sequence([action,callBack ]);
    this.node.runAction(sequence )
    func(eventData:any):void //**这里回调方法中实际传入的数据并不是this ,而是this.node**
    {
        //dosomething
    }

根据官方的注释,我们知道data是我们回调方法的需要的参数,这个参数如果是一个类的话(假设我这边传了一个 new classA()) 在回调方法中收到的参数并不是这个new ClassA ,而是触发这个回调的node节点,如果传入的参数为一个number类型则是正确的,
我所使用的版本是1.9.1,希望能帮助到有遇到这些问题的朋友

你可能感兴趣的:(CocosCreator)