package {
    /*
    * Requires Flex SDK 3.0.1 or later to be compiled.
    */
    import flash.display.Bitmap;
    import flash.display.Shader;
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.filters.ShaderFilter;

    [SWF(width="550",height="400",backgroundColor="0x0",frameRate="24")]
    
    public class PixelBender03 extends Sprite{
        
        [(source="data/250.jpg")]
        private var TestImage:Class;
        
        //Set mime-type as "binary" because the pbj object is in the binary form.
        [(source="data/Crystallize.pbj", mimeType="application/octet-stream")]
        private var PbjObject:Class;
        
        private var img:Bitmap;
        private var shader:Shader;
        private var filter:ShaderFilter;
        private var slider:SimpleSlider;
        
        public function PixelBender03(){
            img = new TestImage();
            img.x = stage.stageWidth/2 - img.width/2;
            img.y = stage.stageHeight/2 - img.height/2;
            
            shader = new Shader(new PbjObject());
            
            filter= new ShaderFilter(shader);
            var minValue:Number = shader.data.size["minValue"];
            var maxValue:Number = shader.data.size["maxValue"];
            var defaultValue:Number = shader.data.size["defaultValue"];
            shader.data.size.value = [defaultValue];
            img.filters = [filter];
            addChild(img);
            
            //Slider has a value between the 1st (min) and 2nd-argument (max), 
            //and the default value is defined by the 3rd-argument.
            slider = new SimpleSlider(minValue,maxValue,defaultValue);
            slider.x = 100;
            slider.y = stage.stageHeight/2 - slider.height/2;
            addChild(slider);
            slider.addEventListener(Event.CHANGE,onChange);
        }
        
        private function onChange(e:Event):void{
            shader.data.size["value"] = [slider.value];
            img.filters = [filter];
        }
    }
}
Powered by blog Boreal Kiss 2008.