Показать сообщение отдельно
Старый 14.03.2010, 23:21
Ksoo вне форума Посмотреть профиль Отправить личное сообщение для Ksoo Найти все сообщения от Ksoo
  № 2  
Ksoo

Регистрация: Feb 2010
Сообщений: 9
Как то так наверное
Код AS3:
package 
{
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.display.StageScaleMode;
	import flash.filters.DisplacementMapFilter;
	import flash.geom.Point;
 
	/**
	 * ...
	 * @author Ksoo
	 */
	public class Main extends Sprite 
	{
		[Embed(source = 'image.jpg')]
		private var waterImage:Class;
		private var water_mc:Bitmap;
		private var myfilters:Array;
		private var myBitmap:BitmapData;
		private var i:int;
		public function Main():void 
		{
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}
 
		private function init(e:Event = null):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
			// entry point
			filters = new Array();			
			stage.scaleMode = StageScaleMode.NO_SCALE;
 
			addEventListener(Event.ENTER_FRAME, anim);
			myBitmap = new BitmapData(390,293,false,0);
			var pt:Point = new Point(0,0);
			var mpoint :Point = new Point(0,0);
			var myDispl:DisplacementMapFilter = new DisplacementMapFilter(myBitmap, mpoint, 1, 2, 10, 50);
			water_mc = new waterImage();
			myfilters = new Array();
			myfilters.push(myDispl);
			water_mc.filters = myfilters;
			addChild(water_mc);
			i = 1;
 
		}
 
		private function anim(e:Event):void {
			var filterList:Array = water_mc.filters;
			var offset:Array;
			offset = new Array();
			offset.push(new Point(0, 0));
			offset.push(new Point(i,i/4));
			myBitmap.perlinNoise(50, 5, 2, 50, true, false, 7, true, offset);
			//myBitmap.perlinNoise(
			filterList.mapBitmap = myBitmap;
			water_mc.filters = filterList;
			i++;
		}
 
	}
 
}