Previous Page
Next Page

Recipe 8.15. Scrolling a Bitmap

Problem

You want to scroll the content of a BitmapData.

Solution

Use the scroll( ) method of the BitmapData class.

Discussion

The operation and syntax is simple and straightforward. You pass the amounts you want to scroll the bitmap's content on the X- and Y-axes:

_bitmap.scroll(xAmount, yAmount);

The method effectively copies the pixels in the bitmap and pastes them back, offset by the amount specified. Any pixels that aren't overwritten in the operation remain the same as they were originally.

You can call scroll( ) repeatedly in an enterFrame handler or timer function to animate the scrolling of the bitmap. The following code demonstrates this by generating a Perlin noise pattern and then scrolling it:

public function Scroll(  ) {
    _bitmap = new BitmapData(stage.stageWidth, stage.stageHeight,
                         false, 0xffffffff);
    _bitmap.perlinNoise(100, 100, 3, 1000, true, true, 1, true);
    _image = new Bitmap(_bitmap);
    addChild(_image);
    addEventListener(Event.ENTER_FRAME, onEnterFrame);
}

public function onEnterFrame(event:Event):void {
    _bitmap.scroll(-1, -1);
}

Note that the edges that are not copied in the scroll are not cleared, but left as they were.

See Also

Recipes 8.12, 8.13, and 8.14 for other ways to manipulate the content in a bitmap.


Previous Page
Next Page
Converted from CHM to HTML with chm2web Pro 2.85 (unicode)