2012-06-27 4 views
0

내 과제 중 하나 인 AS3에서 새로운데, 특정 효과를 만들기 위해 기존 코드 (붙여 넣기 및 수정 복사)를 수정해야합니다. 내가 만들 필요가있는 효과는 스테이지에서 MouseOver를 할 때, 스테이지의 MouseOut을 할 때 마스크가 배경 이미지가있는 루프를 형성하고 정상 (마스크 레이어가 보이지 않음)으로 돌아갑니다. 수정해야하는 코드는 다음과 같습니다.마우스 오버시 AS3에서 마스크와 배경 이미지 사이에 루프를 만드는 방법

var mymask:Sprite=new Sprite(); 
    var isOver:Boolean=false; 
    var spotSize:Number=0; 

    pic2.addChild(mymask); 
    pic2.mask=mymask; 
    pic2.mouseEnabled=false; 

    mymask.x=0; 
    mymask.y=0; 

    function drawSpot(r:Number):void{ 
     mymask.graphics.clear(); 
     mymask.graphics.lineStyle(1,0x000000); 
     mymask.graphics.beginFill (0x00000F); 
     mymask.graphics.drawRect(0,0,r,900); 
     mymask.graphics.endFill(); 

     spotSize=r; 
    } 


    pic1.addEventListener(MouseEvent.ROLL_OVER, mouseOver); 

    function mouseOver(e:MouseEvent):void{ 

     isOver=true; 
    } 

    pic1.addEventListener(MouseEvent.ROLL_OUT, mouseOut) 

    function mouseOut(e:MouseEvent):void{ 
     isOver=false; 
    } 

    stage.addEventListener(Event.ENTER_FRAME, enter); 

    function enter(e:Event):void{ 
     var cursorSize:Number=spotSize; 
     if(isOver==true && cursorSize<1) 
     drawSpot(cursorSize+999); 
     if(isOver==false && cursorSize>10) 
     drawSpot(cursorSize-999); 

    } 
+0

에 당신이 "나를 위해 내 숙제를 바랍니다"라고 질문을 바꿔 공평인가? 답변 == 사실입니까? you_stink : my_bad; –

답변

0

위의 코드를 수정하여 순환 마스크에 애니메이션을 적용하는 것처럼 들리십니까? 그렇다면 필요한 코드 변경 사항입니다. mymask.graphics.drawRect(0,0,r,900); 에 : 당신의 drawSpot 방법에

, 라인 변경하려면 입력 방법 다음 mymask.graphics.drawCircle(pic2.width * .5, pic2.height * .5, r);

function enter(e:Event):void{ 
    var cursorSize:Number=spotSize; 
    if(isOver==true && cursorSize<999) 
    drawSpot(cursorSize+1); 
    if(isOver==false && cursorSize>0) 
    drawSpot(cursorSize-1); 

} 

당신이 마우스가 이상이면 말하는 일을하는지와 cursorSize는 전체 값보다 작습니다 (이전에는 999를 사용 했으므로 크기를 1 씩 증가 시켰습니다). 크기가 999 이상 (또는 마우스가 더 이상 없음)이 될 때까지 모든 프레임을 계속 유지합니다.

마우스가 끝나지 않고 마스크의 크기가 0이 아닌 경우 0 이하가 될 때까지 모든 프레임에서 크기가 1 씩 감소합니다. 당신이 더 빨리 가고 싶은 경우

, 단순히 변경 +1과 -1 더 많은 수의

+0

그리고 cursorSize <999를 사용하는 대신 cursorSize BadFeelingAboutThis

관련 문제