transform (MovieClip.transform プロパティ)

public transform : Transform

ムービークリップのマトリックス、カラー変換、ピクセル境界に関係するプロパティを持つオブジェクト。特定のプロパティ matrixcolorTransform、および 3 つの読み取り専用プロパティ (concatenatedMatrixconcatenatedColorTransform、および pixelBounds) については、Transform クラスで説明します。

変形オブジェクトの各プロパティは、それ自身がオブジェクトです。これは重要なことです。matrix オブジェクトまたは colorTransform オブジェクトの新しい値を設定する方法として、オブジェクトを作成し、そのオブジェクトを transform.matrix プロパティまたは transform.colorTransform プロパティにコピーすることしかないためです。

たとえば、ムービークリップのマトリックスの tx 値を増やすには、matrix オブジェクト全体のコピーを作成して新しいオブジェクトの tx プロパティを変更した後、新しいオブジェクトを変形オブジェクトの matrix プロパティにコピーする必要があります。

var myMatrix:Object = myDisplayObject.transform.matrix;
myMatrix.tx += 10; 
myDisplayObject.transform.matrix = myMatrix;

tx プロパティを直接設定することはできません。コード myDisplayObject.transform.matrix.tx += 10; は、myDisplayObject に影響を与えません。

変形オブジェクト全体をコピーし、それを別のムービークリップの transform プロパティに割り当てることもできます。たとえば、次のコードでは、変形オブジェクト全体を myOldDisplayObj から myNewDisplayObj にコピーします。

myNewDisplayObj.transform = myOldDisplayObj.transform;

これで、新しいムービークリップ myNewDisplayObj のマトリックス、カラー変換、ピクセル境界は、古いムービークリップ myOldDisplayObj と同じ値になります。

対応バージョン : ActionScript 1.0、Flash Player 8

次の例は、ムービークリップの transform プロパティと Matrix ポジショニングを使用してムービークリップにアクセスし、その位置を変更する方法を示しています。

import flash.geom.Matrix;
    
var rect:MovieClip = createRectangle(20, 80, 0xFF0000);

var translateMatrix:Matrix = new Matrix();
translateMatrix.translate(10, 0);

rect.onPress = function() {
    var tmpMatrix:Matrix = this.transform.matrix;
    tmpMatrix.concat(translateMatrix);
    this.transform.matrix = tmpMatrix;
}

function createRectangle(width:Number, height:Number, color:Number, scope:MovieClip):MovieClip {
    scope = (scope == undefined) ? this : scope;
    var depth:Number = scope.getNextHighestDepth();
    var mc:MovieClip = scope.createEmptyMovieClip("mc_" + depth, depth);
    mc.beginFill(color);
    mc.lineTo(0, height);
    mc.lineTo(width, height);
    mc.lineTo(width, 0);
    mc.lineTo(0, 0);
    return mc;
} 

SWF ファイルにバージョン 2 のコンポーネントがある場合は、この例で使用している MovieClip.getNextHighestDepth() メソッドではなく、バージョン 2 コンポーネントの DepthManager クラスを使用します。

関連項目

Transform (flash.geom.Transform)


 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00001981.html