Chapter 37 Example 9
♥0 |
Line 35 |
Modified 2010-02-09 15:58:17 |
MIT License
archived:2017-03-09 19:55:37
ActionScript3 source code
/**
* Copyright actionscriptbible ( http://wonderfl.net/user/actionscriptbible )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/coRG
*/
package {
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.filters.ColorMatrixFilter;
public class ch37ex9 extends Sprite {
protected var img:TestImage;
function ch37ex9() {
img = new TestImage();
addChild(img);
addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
}
protected function onMouseMove(event:MouseEvent):void {
//1 for no change, 0 for lowest contrast, 2 and up for high contrast
var contrastAmount:Number;
//mouse at left for lowest contrast, right for 3x contrast boost
contrastAmount = stage.mouseX / stage.stageWidth * 3;
var scale:Number = contrastAmount;
var offset:Number = 128 * (1 - scale);
var aContrast:Array = [scale, 0, 0, 0, offset,
0, scale, 0, 0, offset,
0, 0, scale, 0, offset,
0, 0, 0, 1, 0];
img.filters = [new ColorMatrixFilter(aContrast)];
}
}
}
import flash.display.Loader;
import flash.net.URLRequest;
import flash.system.LoaderContext;
class TestImage extends Loader {
public function TestImage(scale:Number = 1, x:Number = 0, y:Number = 0) {
//photo (CC-BY) Roger Braunstein
//source http://www.flickr.com/photos/rogerimp/2940373537/
var url:String = "http://actionscriptbible.com/files/heiwadoori.jpg";
load(new URLRequest(url), new LoaderContext(true));
scaleX = scaleY = scale;
this.x = x; this.y = y;
}
}