import flash.geom.Rectangle;
//ステージ上にムービークリップ(灰色・100x300)を生成
var mc:MovieClip = this.createEmptyMovieClip("movie_mc",this.getNextHighestDepth());
mc.beginFill(0x999999);
mc.moveTo(0,0);
mc.lineTo(100,0);
mc.lineTo(100,300);
mc.lineTo(0,300);
mc.endFill();
//生成したムービークリップの中にテキストフィールドを生成し、ダミーテキストを表示
var txt:TextField = mc.createTextField("movie_txt",mc.getNextHighestDepth(),0,0,100,300);
txt.wordWrap = true;
txt.multiline = true;
txt.text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
//scrollRectとして設定するためのRectangleオブジェクトを生成
var rect:Rectangle = new Rectangle(0,0,mc._width,100);
//生成したムービークリップのscrollRectとしてrectを設定
mc.scrollRect = rect;
//scrollRectプロパティを設定したムービークリップのcachaAsBitmapプロパティをtrueに設定
mc.cacheAsBitmap = true;
ここまでだとマスクと何ら変わりない。scrollRectの「scrollって何?」って思ったら、こういうことらしい↓
this.onMouseDown = function():Void{
this.onEnterFrame = function():Void{
//scrollRectに設定したRectangleオブジェクトのyプロパティを変更
rect.y ++;
//scrollRectオブジェクトを再設定
mc.scrollRect = rect;
};
};
this.onMouseUp = function():Void{
delete this.onEnterFrame;
};
おお、スクロールする!うん、割とこれは便利かもしれないですね。今後、活用しよう。
ちなみにTweenerの特殊プロパティを使ってscrollRectをトゥイーンさせた例は下記の通り。
import flash.geom.Rectangle;
import caurina.transitions.Tweener;
import caurina.transitions.properties.DisplayShortcuts;
DisplayShortcuts.init();
//ステージ上にムービークリップ(灰色・100x300)を生成
var mc:MovieClip = this.createEmptyMovieClip("movie_mc",this.getNextHighestDepth());
mc.beginFill(0x999999);
mc.moveTo(0,0);
mc.lineTo(100,0);
mc.lineTo(100,300);
mc.lineTo(0,300);
mc.endFill();
//生成したムービークリップの中にテキストフィールドを生成し、ダミーテキストを表示
var txt:TextField = mc.createTextField("movie_txt",mc.getNextHighestDepth(),0,0,100,300);
txt.wordWrap = true;
txt.multiline = true;
txt.text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
//scrollRectとして設定するためのRectangleオブジェクトを生成
var rect:Rectangle = new Rectangle(0,0,mc._width,100);
mc.scrollRect =rect;
//scrollRectプロパティを設定したムービークリップのcachaAsBitmapプロパティをtrueに設定
mc.cacheAsBitmap = true;
//Tweenerの特殊プロパティを使ってscrollRectを操作
this.onMouseDown = function():Void{
Tweener.addTween(mc,{
_scrollRect:rect,
_scrollRect_y:(mc._height),
time:2
});
};
0 件のコメント:
コメントを投稿