• Cocos2d-x 学习笔记(11.4) ScaleTo ScaleBy


    1. ScaleTo ScaleBy

    对node进行缩放。ScaleBy是ScaleTo的子类。

    1.1 成员变量 create方法

    ScaleTo ScaleBy 成员变量一样:

        float _scaleX; 
        float _scaleY;
        float _scaleZ;
        float _startScaleX; // startWithTarget target->getScaleX()
        float _startScaleY;//
        float _startScaleZ;//
        float _endScaleX; // create参数s
        float _endScaleY;//
        float _endScaleZ;//
        float _deltaX;  // startWithTarget ScaleTo: _endScaleX - _startScaleX  ScaleBy: _startScaleX * _endScaleX - _startScaleX;
        float _deltaY;//
        float _deltaZ;//

    create方法:

    ScaleTo::create(float duration, float s)
    ScaleBy::create(float duration, float s)

    1.2 startWithTarget

    ScaleTo:

        ActionInterval::startWithTarget(target);
        _startScaleX = target->getScaleX();
        _startScaleY = target->getScaleY();
        _startScaleZ = target->getScaleZ();
        _deltaX = _endScaleX - _startScaleX;
        _deltaY = _endScaleY - _startScaleY;
        _deltaZ = _endScaleZ - _startScaleZ;

    ScaleBy:

        ScaleTo::startWithTarget(target);
        _deltaX = _startScaleX * _endScaleX - _startScaleX;
        _deltaY = _startScaleY * _endScaleY - _startScaleY;
        _deltaZ = _startScaleZ * _endScaleZ - _startScaleZ;

    1.3 update

    两者一致:

            _target->setScaleX(_startScaleX + _deltaX * time);
            _target->setScaleY(_startScaleY + _deltaY * time);
            _target->setScaleZ(_startScaleZ + _deltaZ * time);
  • 相关阅读:
    无向图判断割点
    C
    连通图 求至少有给几个点信息才能传遍全图,至少添加几条边才能使全图联通
    线段树区间更新(set暴力)
    A
    辗转相除法(数学推理)
    Python List index()方法
    Python List extend()方法
    Python List count()方法
    Python List append()方法
  • 原文地址:https://www.cnblogs.com/deepcho/p/cocos2dx-action-scaleto-scaleby.html
Copyright © 2020-2023  润新知