Flexで親のスケーリングに関わらず子の見えを維持するには?

Flexでなくても一般的に、親コンポーネントのスケーリングが変更されると子コンポーネントもスケーリングされる。

しかし、場合によっては子コンポーネントの見えを維持したい場合がある。例えば、枠線の線幅など。

そういった場合はどうしたらよいか?例えばこうする。

/**
 * 親UIComponentのスケーリングに関わらず
 * 線幅などの見えを維持する処理
 * @param uic 見えを維持したいUIComponent
 */
public static function counterTransform(uic:UIComponent):void {
  uic.transform.matrix = new Matrix();
  var concatMatrix:Matrix = uic.transform.concatenatedMatrix;
  concatMatrix.invert();
  uic.transform.matrix = concatMatrix;
}

Matrix.invert()を使うところがポイントだろう。

コメント

このブログの人気の投稿

レオナルド・ダ・ビンチはなぜノートを「鏡文字」で書いたのか?

macでsmb(samba)共有サーバーに別名で接続(別アカウント名で接続)する方法

Google DriveにCURLでアップロードするには?