Máscaras de Scripting no flash
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
|
|||
|