【问题标题】:Add sprite after scale also get scaled在缩放后添加精灵也得到缩放
【发布时间】:2015-07-02 09:37:01
【问题描述】:

我必须精灵 A 和 B(A 是人体,B 是头部)。我想将精灵 B 添加到精灵 A 并一起移动,我通过 A->addChild(B) 并且有效。问题是当我只想缩放身体然后将头部添加到小身体(头部应该是正常大小)并且我这样做了

A->setScaleY(0.3);
A->addChild(B);

但我也让 B 被缩放。如何仅缩放身体,然后将正常大小的头部添加到小身体?

【问题讨论】:

  • 因为头部被添加到身体上,身体是头部的父母,那么如果你缩放父母,那么孩子也会缩放。

标签: cocos2d-x cocos2d-x-3.0


【解决方案1】:

B 是 A 的子级,因此将与 A 一起缩放这是正确的...我建议您制作第三个 Sprite C(骨架)并向其添加 A(body)、B(head) sprite。之后,您可以独立缩放 A、B 并使用精灵 C 移动它们,或者使用 C(骨架)精灵的所有部分缩放整个人体。

【讨论】:

    【解决方案2】:

    解决这个问题的两种方法。

    1. 节点/精灵 C

      Sprite A;
      Sprite B;
      Sprite C;
      
      A->setScaleY(0.3);
      
      C->addChild(A);
      C->addChild(B);
      
    2. 还设置了 B 比例。

      float scale = 0.3f;
      A->setScaleY(scale);
      B->setScaleY(1/scale);
      A->addChild(B);
      

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-07
      • 1970-01-01
      • 1970-01-01
      • 2015-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-18
      相关资源
      最近更新 更多