Máscaras de Scripting no flash


  Share  
|


Use o API extraindo criar uma forma e usar então MovicClip.setMask() aplicar a máscara.

As máscaras podem ser usadas criar formas originais ou efeitos visuais. Para o exemplo, você pode usar máscaras criar os wipes e as transições ou os animations interessantes em que somente a parcela mascarada da arte -final é visível em uma estadia dada. Você pode mesmo criar as máscaras que mudam a forma sobre o tempo, e usa-as mascarar gráficos bitmapped (em grampos do filme).

Você pode usar todo o grampo do filme como uma máscara de um outro grampo do filme usando o método do setMask(). O método do setMask() é chamado do grampo do filme a ser mascarado, e você deve passar-lhe uma referência ao grampo do filme que age como a máscara:

maskedMovieClip.setMask(maskMovieClip);

Em a maioria de casos, as máscaras são formas simples, tais como retângulos ou círculos. Você não necessita usar o API extraindo extrair o grampo do filme da máscara, mas recomenda-se que você assim a menos que a máscara for de uma forma incomun.

Primeiramente, está aqui um exemplo em que uma máscara segue o rato. A máscara é atribuída a um grampo do filme que contem uma imagem carregada, assim que o efeito é que o usuário pode ver somente a parcela do excesso da imagem que posicionou o rato.

//inclua os métodos extraindo, que são needed para o 
método do drawCircle() # incluem "DrawingMethods.as"
//críe um grampo do filme e um grampo aninhado do 
filme para carregar/da imagem/para mais informação na necessidade 
para criar grampos aninhados do filme ao carregar// JPEGs. externo _ 
root.createEmptyMovieClip("image_mc", 1); _ 
root.image_mc.createEmptyMovieClip("imageHolder_mc", 1);
//carga a imagem no grampo do filme. Você pode usar
este URL se você quiser, mas // trabalho somente quando você usar o 
teste ou/autônomo dos 
jogadores/image_mc.imageHolder_mc.loadMovie("http://www.person13.com/ascb/images/image1.jpg");
//tração o grampo mascarando _ 
root.createEmptyMovieClip("mask_mc do filme", 2); 
mask_mc.lineStyle(3, 0x000000, 0); mask_mc.beginFill(0, 
100); mask_mc.drawCircle(60); mask_mc.endFill();
//chamada o método do setMask() no grampo mascarado do 
filme e passa-lhe/mascarando do filme/grampo como um parâmetro 
image_mc.setMask(mask_mc);
//chamada o método do startDrag() do grampo mascarando do
filme de modo que a máscara possa ser// movida com o cursor 
mask_mc.startDrag(true);

Em seguida, está aqui um exemplo em que uma máscara é usada criar uma transição do wipe entre duas imagens carregadas.

# inclua "DrawingMethods.as"
//críe um grampo do filme e um grampo aninhado do
filme e carregue a primeira imagem nele _ 
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íe um outro grampo do filme e o grampo aninhado do 
filme e carregue a segunda imagem nele//  image0_mc e image1_mc são 
criados em (0.0). Isto significa que eles vontade// 
sobreposição. Este é o que nós queremos _ 
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");
 
//tração o grampo mascarando do filme. As 
dimensões das imagens são 640 x 480 (se você// carga as imagens 
usando o URLs fornecido) e assim a máscara deve ser/do retângulo/com
as mesmas dimensões _ root.createEmptyMovieClip("mask_mc", 3); 
mask_mc.lineStyle(3, 0x000000, 0); mask_mc.beginFill(0, 
100); mask_mc.drawRectangle(640, 480); mask_mc.endFill();
//posição a máscara de modo que esteja desligada ao 
lado esquerdo do estágio mask_mc._x = -320; mask_mc._y = 240;
//chamada o método do setMask() para ajustar o mask_mc 
como a máscara para image1_mc. Isto/das causas/image0_mc a 
indicar inicialmente, mesmo que esteja abaixo de image1_mc. 
image1_mc.setMask(mask_mc);
//defina um método do alimentador do evento para 
image0_mc de modo que o grampo do filme da máscara mova// quando o 
usuário estala sobre image0_mc. image0_mc.onRelease = função () {
 //uso um método do alimentador do evento do 
onEnterFrame() mover a máscara. Isto supõe que você// tem os 
frames do defeito por um ajuste do segundo de 12. _ 
root.mask_mc.onEnterFrame = função () {
 //movimento a máscara à direita por 12 pixels. 
this._x + = 12;
 //se a máscara estiver mascarando inteiramente a imagem, 
a seguir suprime o método do onEnterFrame(). se (this._x > = 
320) {this._x = 320; supressão this.onEnterFrame; }}}

Se você usar o URLs fornecido neste exemplo, então as imagens que são carregadas têm dimensões de 640 x de 480. Conseqüentemente, você pôde necessitar aumentar as dimensões de seu filme para ver as imagens cheias. Se você usar suas próprias imagens, devem ser da mesma definição para que o efeito trabalhe como descritas.

este é um artigo adicionado por Elis Frugalo


Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions