Код:
import mx.transitions.Transition;
import mx.transitions.TransitionManager;
import flash.filters.ColorMatrixFilter;
class mx.transitions.Sepia extends Transition {
public var type:Object = Sepia;
public var className:String = "Sepia";
private var myColorMatrix_filter:ColorMatrixFilter;
private var __tgt:MovieClip;
private var __tint:Number = 0x000000;
private var __to:Object = {};
function Sepia(content:MovieClip, transParams:Object, manager:TransitionManager) {
this.init(content, transParams, manager);
}
function init(content:MovieClip, transParams:Object, manager:TransitionManager):Void {
super.init(content, transParams, manager);
this.myColorMatrix_filter = new ColorMatrixFilter();
this.__tgt = content;
this.__tint = transParams.tint;
this.__to = toRGB(this.__tint);
}
private function _render(p:Number):Void {
var rc:Number = 0.3086;
var gc:Number = 0.6094;
var bc:Number = 0.0820;
var myElements_array:Array = [1-p*(1-rc)+this.__to._r*p, p*gc, p*bc, 0, 0,
p*rc, 1-p*(1-gc)+this.__to._g*p, p*bc, 0, 0,
p*rc, p*gc, 1-p*(1-bc)+this.__to._b*p, 0, 0,
0, 0, 0, 1, 0];
this.myColorMatrix_filter = new ColorMatrixFilter(myElements_array);
this.__tgt.filters = [myColorMatrix_filter];
}
private function toRGB(_num:Number):Object {
var c_obj:Object = {_r:((_num >> 16) & 0xff)/255, _g:((_num >> 8) & 0xff)/255, _b:(_num & 0xff)/255};
return c_obj;
}
public function toString():String {
return "[Sepia Transition]";
}
}
Древность какая-то, ну так, для коллекции
Код:
import flash.geom.Matrix;
import flash.geom.Point;
import flash.geom.Rectangle;
import mx.transitions.Transition;
import mx.transitions.TransitionManager;
import flash.display.BitmapData;
import flash.filters.DisplacementMapFilter;
//
class mx.transitions.Wobble extends Transition {
public var type:Object = Wobble;
public var className:String = "Wobble";
private var __tgt:MovieClip;
private var __seed:Number = 0;
private var __bmp:BitmapData;
private var __acceleration:Number = 10;
private var __msk:MovieClip;
private var __flt:DisplacementMapFilter;
function Wobble (content:MovieClip, transParams:Object, manager:TransitionManager) {
this.init(content, transParams, manager);
}
function init(content:MovieClip, transParams:Object, manager:TransitionManager):Void {
trace('started');
super.init(content, transParams, manager);
this.__tgt = content;
this.__bmp = new BitmapData(content._width, content._height, true, 0x00ffffff);
this.__bmp.perlinNoise(0, 10, 1, Math.floor(Math.random()*100), false, true, 1, true, null);
}
private function _render(p:Number):Void {
this.__seed += this.__acceleration;
if (this.__seed > this.__bmp.width/4 || this.__seed < -this.__bmp.width/4) {
this.__acceleration*=-1;
}
var p0:Point = new Point(Math.floor((content._width - this.__bmp.width) / 2), -p);
var scale:Number=this.__seed*p;
var displMap = new DisplacementMapFilter(this.__bmp, p0, 1, 0, scale, 0, "wrap");
content.filters=[displMap];
}
public function toString():String {
return "[Wobble Transition]";
}
}
И снова Silin %)
Код:
import mx.transitions.Transition;
import mx.transitions.TransitionManager;
import mx.transitions.rendering.*;
import mx.transitions.easing.Strong;
class mx.transitions.StainedGlass extends Transition {
public var type:Object = StainedGlass;
public var className:String = "StainedGlass";
private var __map:Map;
function StainedGlass(content:MovieClip, transParams:Object, manager:TransitionManager) {
this.init(content, transParams, manager);
}
function init(content:MovieClip, transParams:Object, manager:TransitionManager):Void {
transParams.easing = Strong.easeIn;
super.init(content, transParams, manager);
super.TWN.FPS = 12;
this.__map = new Map(content, content._width, content._height);
}
private function _render(p:Number):Void {
this.__map.__draw(p);
if (content._visible) {
content._visible = false;
}
}
public function cleanUp():Void {
this.content._visible = true;
super.cleanUp();
this.__map.__remove();
}
public function toString():String {
return "[StainedGlass Transition]";
}
}
Это безумная попытка сделать анимированый фильтр типа stained glass... дико тормозная, так и оставил недоделав =( Но мало ли... мож какие идеи будут
rendering.zip В аттаче нужные ей классы