scrollRect (MovieClip.scrollRect プロパティ)

public scrollRect : Object

scrollRect プロパティを使用すると、ムービークリップのコンテンツをすばやくスクロールして、より多くのコンテンツを表示できるウィンドウを利用できるようになります。テキストフィールドと複雑なコンテンツは、より速くスクロールします。データのスクロールでは、ベクターデータからムービークリップ全体を生成し直す代わりに、ピクセルレベルのコピーが使用されているためです。パフォーマンスを向上させるには、scrollRectcacheAsBitmaptrue に設定したムービークリップとを組み合わせて使用します。

ムービークリップは、特定の幅、高さ、スクロールオフセットを使用して、トリミングされスクロールされます。scrollRect プロパティは、ムービークリップの座標空間に格納され、ムービークリップ全体と同様に拡大・縮小されます。スクロールしているムービークリップ上のトリミングされたウィンドウの隅の境界は、ムービークリップの原点 (0, 0) とポイント (scrollWidth, scrollHeight) です。これらのポイントは原点を中心に配置されず、左上隅の原点を使用します。スクロール対象のムービークリップは、常にピクセル単位でスクロールします。ムービークリップを 90 度回転し、scrollRect.x プロパティを設定して左右にスクロールすると、このムービークリップは上下にスクロールします。

このプロパティを flash.geom.Rectangle オブジェクトに設定すると、ムービークリップが特定のサイズにトリミングされ、スクロールされます。

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

次の例では、setUpContainer() 関数を呼び出して MovieClip 階層を設定した後、新しい矩形を scrollRect プロパティとして設定します。

import flash.geom.Rectangle;
var container:MovieClip = setUpContainer();
var window:Rectangle = new Rectangle(0, 0, 100, 40);
container.scrollRect = window;

function setUpContainer():MovieClip {
    var mc:MovieClip = this.createEmptyMovieClip("container", this.getNextHighestDepth());
    mc._x = 50;
    mc._y = 50;
    mc.opaqueBackground = 0xCCCCCC;
    
    var content:MovieClip = mc.createEmptyMovieClip("content", mc.getNextHighestDepth());
    var colors:Array = [0xFF0000, 0x0000FF];
    var alphas:Array = [100, 100];
    var ratios:Array = [0, 0xFF];
    var matrix:Object = {a:150, b:0, c:0, d:0, e:150, f:0, g:150, h:150, i:1};
    content.beginGradientFill("linear", colors, alphas, ratios, matrix);
    content.lineTo(300, 0);
    content.lineTo(300, 300);
    content.lineTo(0, 300);
    content.lineTo(0, 0);
    content.endFill();
    content._rotation = -90;
    
    mc.onEnterFrame = function() {
        this.content._y += 1;
    }
    
    return mc;
}

setUpContainer() 関数は、次の手順を実行します。

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


 

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

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