FLASH 8 : Reflet Video Cam V2...
Par jeanphilippe, dimanche 21 mai 2006 à 07:17 :: Flash 8 :: #211 :: rss
Par rapport à l'exemple précédent, j'ai remplacé le blendMode (qui n'était pas très fonctionnel) par un setMask().
Ainsi le reflet, peut se jouer sur n'importe quel fond (uni, dégradé, bitmap).
Enfin, un effet d'onde généré par displacementMap() a été rajouté à la composition.
Ainsi le reflet, peut se jouer sur n'importe quel fond (uni, dégradé, bitmap).
Enfin, un effet d'onde généré par displacementMap() a été rajouté à la composition.
L'exemple en image :
Le code :
Le code :
import flash.filters.*; import flash.display.BitmapData; import flash.geom.ColorTransform; import flash.geom.Rectangle; import flash.geom.Matrix; sortie_vid.attachVideo(Camera.get()); leBitmap = new flash.display.BitmapData(sortie_vid._width, sortie_vid._height, false, 0); this.createEmptyMovieClip("copie", 2); copie._yscale = -100; copie.attachBitmap(leBitmap, 0, "auto", true); copie._x = sortie_vid._x; copie._y = sortie_vid._y+sortie_vid._height*2; this.onEnterFrame = function() { leBitmap.draw(sortie_vid); displac.mapBitmap = bitmap; displac.mode = "clamp"; displac.scaleX = 20; displac.scaleY = 30; displac.componentX = 5; displac.componentY = 1; displac.alpha = 1; displac.mapPoint = new flash.geom.Point((mc._x-copie._x), (mc._y-copie._y)); flt = [displac]; if (mc._x<=0) { copie.filters = flt; } else { mc._x = -400; } mc._x += 8; updateAfterEvent(); }; var fillType:String = "linear"; var colors:Array = [0xFFFFFF, 0x000000]; var alphas:Array = [0, 100]; var ratios:Array = [0x00, 0xFF]; var matrix:Matrix = new Matrix(); matrix.createGradientBox(sortie_vid._width, sortie_vid._height/1.3, -33, 0, 0); var spreadMethod:String = "pad"; var container:MovieClip = this.createEmptyMovieClip("container", this.getNextHighestDepth()); container.beginGradientFill(fillType, colors, alphas, ratios, matrix, spreadMethod); container.moveTo(0, 0); container.lineTo(0, sortie_vid._height); container.lineTo(sortie_vid._width, sortie_vid._height); container.lineTo(sortie_vid._width, 0); container.lineTo(0, 0); container.endFill(); container._x = sortie_vid._x; container._y = sortie_vid._y+120; container.cacheAsBitmap = true; copie.cacheAsBitmap = true; copie.setMask(container); copie._alpha = 60; //////////// bitmap = BitmapData.loadBitmap('fond'); var mc:MovieClip = this.createEmptyMovieClip("mc", 1); mc.attachBitmap(bitmap, 1); mc._visible = false; mc._y = 240; var displac:DisplacementMapFilter = new flash.filters.DisplacementMapFilter();
Commentaires
1. Le dimanche 21 mai 2006 à 12:50, par jim
2. Le dimanche 21 mai 2006 à 18:40, par jeanphilippe
3. Le dimanche 21 mai 2006 à 22:18, par J
4. Le lundi 12 juin 2006 à 00:48, par ZoulouX
Ajouter un commentaire