Masques de Scripting dans le flash
Employez l'api de dessin pour créer une forme et puis pour employer MovicClip.setMask() pour appliquer le masque. Des masques peuvent être employés pour créer des formes uniques ou des effets visuels. Par exemple, vous pouvez employer des masques pour créer les chiffons et les transitions ou les animations intéressantes dans lesquels seulement la partie masquée du dessin-modèle est évidente à un moment donné. Vous pouvez même créer les masques qui se déforment avec le temps, et les employez pour masquer les affichages par mémoire d'image (dans des agrafes de film). Vous pouvez utiliser n'importe quelle agrafe de film comme masque d'une autre agrafe de film en utilisant la méthode de setMask(). La méthode de setMask() s'appelle de l'agrafe de film à masquer, et vous devriez lui passer une référence à l'agrafe de film qui agit en tant que masque : maskedMovieClip.setMask(maskMovieClip) ; Dans la plupart des cas, les masques sont des formes simples, telles que des rectangles ou des cercles. Vous n'avez pas besoin d'employer l'api de dessin pour dessiner l'agrafe de film de masque, mais on lui recommande que vous ainsi à moins que le masque soit d'une forme peu commune. D'abord, voici un exemple dans lequel un masque suit la souris. Le masque est assigné à une agrafe de film contenant une image chargée, ainsi l'effet est que l'utilisateur peut voir seulement la partie de l'excédent d'image qu'il a placé la souris. //incluez les méthodes de dessin, qui sont nécessaires pour la méthode de drawCircle() # incluent "DrawingMethods.as" //créez une agrafe de film et une agrafe nichée
de film pour charger/d'image/pour plus d'information sur le besoin de
créer les agrafes nichées de film en chargeant// JPEGs. externe _
root.createEmptyMovieClip("image_mc", 1) ; _
root.image_mc.createEmptyMovieClip("imageHolder_mc", 1) ;
//charge l'image dans l'agrafe de film. Vous pouvez
employer ce URL si vous voulez, mais il // travail seulement tandis
que vous employez l'essai ou/autonome de
joueurs/image_mc.imageHolder_mc.loadMovie("http://www.person13.com/ascb/images/image1.jpg")
;
//aspiration l'agrafe masquante _
root.createEmptyMovieClip("mask_mc de film", 2) ;
mask_mc.lineStyle(3, 0x000000, 0) ; mask_mc.beginFill(0,
100) ; mask_mc.drawCircle(60) ; mask_mc.endFill() ;
//appel la méthode de setMask() sur l'agrafe masquée de film et lui passent/masquant de film/agrafe comme paramètre image_mc.setMask(mask_mc) ; //appel la méthode de startDrag() d'agrafe masquante de film de sorte que le masque puisse être// déplacé avec le curseur mask_mc.startDrag(true) ; Après, voici un exemple dans lequel un masque est employé pour créer une transition de chiffon entre deux images chargées. # incluez "DrawingMethods.as" //créez une agrafe de film et une agrafe nichée
de film et chargez la première image dans lui _
root.createEmptyMovieClip("image0_mc", 1) ; _
root.image0_mc.createEmptyMovieClip("imageHolder_mc", 1) ;
image0_mc.imageHolder_mc.loadMovie("http://www.person13.com/ascb/images/image1.jpg")
;
//créez une autre agrafe de film et une agrafe nichée de
film et chargez la deuxième image dans lui// image0_mc et image1_mc
sont créés à (0.0). Ceci signifie qu'ils volonté//
chevauchement. Est ce ce qui nous voulons _
root.createEmptyMovieClip("image1_mc", 2) ; _
root.image1_mc.createEmptyMovieClip("imageHolder_mc", 1) ;
image1_mc.imageHolder_mc.loadMovie("http://www.person13.com/ascb/images/image2.jpg")
;
//aspiration l'agrafe masquante de film. Les
dimensions des images sont 640 x 480 (si vous// charge les images en
utilisant l'URLs fourni) et ainsi le masque devrait être/de
rectangle/avec les mêmes dimensions _
root.createEmptyMovieClip("mask_mc", 3) ; mask_mc.lineStyle(3,
0x000000, 0) ; mask_mc.beginFill(0, 100) ;
mask_mc.drawRectangle(640, 480) ; mask_mc.endFill() ;
//position le masque de sorte qu'il soit éteint au côté gauche de l'étape mask_mc._x = -320 ; mask_mc._y = 240 ; //appel la méthode de setMask() pour placer le mask_mc comme masque pour image1_mc. Ceci/de causes/image0_mc à montrer au commencement, quoiqu'il soit au-dessous d'image1_mc. image1_mc.setMask(mask_mc) ; //définissez une méthode de traiteur d'événement pour
image0_mc de sorte que l'agrafe de film de masque déplace// quand
l'utilisateur clique sur image0_mc. image0_mc.onRelease =
fonction () {
//utilisation une méthode de traiteur
d'événement d'onEnterFrame() de déplacer le masque. Ceci
suppose que vous// avez les armatures de défaut par arrangement de
seconde de 12. _ root.mask_mc.onEnterFrame = fonction () {
//mouvement le masque vers la droite par 12 Pixel this._x + = 12 ; //si le masque masque entièrement l'image, puis
suppriment la méthode d'onEnterFrame(). si (this._x > = 320)
{this._x = 320 ; effacement this.onEnterFrame ; }}}
Si vous employez l'URLs fourni dans cet exemple, alors les images qui sont chargées ont des dimensions de 640 x de 480. Par conséquent, vous pourriez devoir augmenter les dimensions de votre film pour voir les pleines images. Si vous employez vos propres images, elles doivent être de la même résolution pour que l'effet travaille comme décrit. c'est un article supplémentaire par Elis Frugalo
|
|||
|