Flash CS3 ドキュメンテーション |
|||
| ActionScript 2.0 リファレンスガイド > ActionScript クラス > MovieClip > transform (MovieClip.transform プロパティ) | |||
public transform : Transform
ムービークリップのマトリックス、カラー変換、ピクセル境界に関係するプロパティを持つオブジェクト。特定のプロパティ matrix、colorTransform、および 3 つの読み取り専用プロパティ (concatenatedMatrix、concatenatedColorTransform、および 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