zoukankan      html  css  js  c++  java
  • 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);
  • 相关阅读:
    硬件加速器为人工智能应用服务
    js 获取指定字符串个数
    js 仿微信投诉—引入vue.js,拆分组件为单个js
    css 图片波浪效果
    svg path命令
    谷歌浏览器—打断点调试页面
    js 实现加载百分比效果
    js 实现纵向轮播
    css 图片高度自适应
    js 禁止/允许页面滚动
  • 原文地址:https://www.cnblogs.com/deepcho/p/cocos2dx-action-scaleto-scaleby.html
Copyright © 2011-2022 走看看