ノイズ関数によるテクスチャの作成

ビットマップの外観を変えるには、noise() メソッドまたは perlinNoise() メソッドのいずれかを使用してノイズ効果を適用します。ノイズ効果とは、チューニングされていないテレビ画面に表示されるノイズのようなものです。

ビットマップにノイズ効果を適用するには、noise() メソッドを使用します。このメソッドは、ビットマップイメージの指定領域内のピクセルに対し、ランダムカラー値を適用します。

このメソッドは、次の 5 つのパラメータを受け入れます。

次の例では、ビットマップイメージを作成し、青いノイズパターンを適用します。

import flash.display.Bitmap;
import flash.display.BitmapData;

var myBitmap:BitmapData = new BitmapData(250, 250,false, 0xff000000);
myBitmap.noise(500, 0, 255, BitmapDataChannel.BLUE,false);
var image:Bitmap = new Bitmap(myBitmap);
addChild(image);

より有機的な外観のテクスチャを作成するには、perlinNoise() メソッドを使用します。perlinNoise() メソッドは、煙、雲、水、火、あるいは爆発といった効果に最適な、リアルで有機的なテクスチャを生成します。

perlinNoise() メソッドはアルゴリズムによって生成されるので、ビットマップベースのテクスチャよりもメモリ消費量を抑えられます。ただし、プロセッサの使用に影響を与えるので、Flash コンテンツを低速化し、特に古いコンピュータではフレームレートよりも画面の再描画速度が遅くなります。これは主に、Perlin ノイズアルゴリズムの処理に必要な浮動小数点計算によるものです。

このメソッドは、次の 9 つのパラメータを受け入れます。最初の 6 つのパラメータは必須です。

次の例では、perlinNoise() メソッドを呼び出して緑と青の雲効果を生成する、150 x 150 ピクセルの BitmapData オブジェクトを作成します。

import flash.display.Bitmap;
import flash.display.BitmapData;

var myBitmapDataObject:BitmapData = new BitmapData(150, 150, false, 0x00FF0000);

var seed:Number = Math.floor(Math.random() * 100);
var channels:uint = BitmapDataChannel.GREEN | BitmapDataChannel.BLUE 
myBitmapDataObject.perlinNoise(100, 80, 6, seed, false, true, channels, false, null);

var myBitmap:Bitmap = new Bitmap(myBitmapDataObject);
addChild(myBitmap);

 

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

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