2014-05-20 5 views
0

나는 누군가가 내가 그들의 youtube.One 일부 자습서를 구현하려고 내가 플래시 AS3에서 초보자입니다 액세스

너무 많이 내 질문에 대답합니다 감사 (어떻게 다른 내부 무비 클립을 호출) 이 http://www.youtube.com/watch?v=b3GWw5noCT4

나는 그것이 단계별로 구현하지만, 컴파일러 오류가 발생하는

images_mc "정의되지 않은 속성 이벤트의 접근을"가 나타납니다 < < 내가 6 그림 인스턴스 이름이없는 측면에 하나 개의 무비 클립이 있습니다.

import fl.transitions.easing.*; 
import flash.display.Shape; 
import fl.transitions.Tween; 
import flash.events.MouseEvent; 
import flash.display.MovieClip; 


var imgBorder:Shape = new Shape(); 
imgBorder.graphics.lineStyle(5,0xffffff,1,true,"normal"); 
imgBorder.graphics.drawRect(0,0,250,120); 
addChild(imgBorder); 

imgBorder.visible = false; 

images_mc.addEventListener(MouseEvent.MOUSE_OVER , rolloverF); 
images_mc.addEventListener(MouseEvent.MOUSE_OUT , rolloutF); 

function rolloverF(e:MouseEvent):void{ 
    imgBorder.visible = true; 
    var borderTween:Tween = new Tween(imgBorder,"alpha",Strong.easeOut,0,1,1,true); 
    var borderW:Tween = new Tween(imgBorder,"width",Strong.easeOut,255,280,1,true); 
    var borderH:Tween = new Tween(imgBorder,"height",Strong.easeOut,125,137,1,true); 
    //images_mc 
    var imgW:Tween = new Tween(event.target,"width",Strong.easeOut,250,275,1,true); 
    var imgH:Tween = new Tween(event.target,"height",Strong.easeOut,120,132,1,true); 

    imgBorder.x = event.target.x; 
    imgBorder.y = event.target.y; 

    images_mc.setChildIndex(event.target as MovieClip, numChildren-1); 

    } 

function rolloutF(e:MouseEvent):void{ 
    var borderTweenBack:Tween = new Tween(imgBorder,"alpha",Strong.easeOut,1,0,1,true); 
    var borderWBack:Tween = new Tween(imgBorder,"width",Strong.easeOut,280,255,1,true); 
    var borderHBack:Tween = new Tween(imgBorder,"height",Strong.easeOut,137,125,1,true); 


    var imgWBack:Tween = new Tween(event.target,"width",Strong.easeOut,275,250,1,true); 
    var imgHBack:Tween = new Tween(event.target,"height",Strong.easeOut,132,120,1,true); 

    } 
+0

"e : MouseEvent"를 "event : MouseEvent"로 변경 했는데도 여전히 오류가 표시됩니다. ??? – Oyster

+1

두 리스너, rolloverF 및 rolloutF에서 변경 했습니까? 또한 디버그 모드에서 영화를 테스트하여 오류가 발생한 행을 확인해야합니다. –

답변

0

의견에서 오류가 계속 지속된다고 말씀하셨습니다. 아래 이미지를 보면, @codeCode와 같은 두 함수에서 코드가 다음과 같이 보일 것입니다 : 표시된 코드가 유일한 코드이면 문제가 없어야합니다. 그렇지 않으면 표시되지 않은 다른 것도 가능할 수 있습니다. 문제를 일으킨다. 더 나은 컴파일러 피드백을 위해 CTRL + SHIFT + ENTER로 디버그하십시오.

enter image description here

내가했을 때 롤 오버 그 라인 images_mc.setChildIndex(event.target as MovieClip, numChildren-1); 오류를 준하지만 난 내 images_mc 그냥 테스트를 위해 어쨌든 비어 있기 때문에 그 생각합니다. 오류는 "Index is out of bounds"이었으며 액세스 할 수 없거나 사용 가능함을 의미합니다 (어린이가 추가되지 않은 빈 MC에 대해 예상해야 함).

PS : 위의 내용은 "이벤트"오류를 해결하지만 질문의 다른 부분은 "다른 동영상 내부에서 무비 클립을 호출하는 방법"입니다. 인스턴스 이름을 연결하여 경로 주소를 연결합니다. 예를 들어 Images_mc에서 pic5_mc의 너비를 변경하려면 Images_mc.pic5_mc.width = 100;

+0

죄송합니다. 내 ..라는 말은'evt.currentTarget'을 사용하지만'evt.target'도 똑같이 작동해야합니다. –

+0

도움이되는 설명에 대해 감사드립니다. 정말 고마워요.하지만이 문제를 해결하는 방법 롤 오버했을 때 images_mc.setChildIndex (MovieClip, numChildren-1과 같은 event.target); 오류가 발생했지만 내 생각에 images_mc가 테스트 용으로 비어 있었기 때문입니다. 오류는 "색인이 범위를 벗어났습니다"라는 의미로 액세스 할 수 없거나 사용할 수 없음을 의미합니다 (자식이 추가되지 않은 빈 MC에 대해 예상해야 함). – Oyster

0

간단히 "e : MouseEvent"를 "event : MouseEvent"로 변경하십시오. 오랫동안 튜토리얼이 아닌 이론 기초부터 시작하십시오 (예 : http://www.adobe.com/devnet/actionscript/learning.html). 그리고 프레임에서 코딩을 중지하십시오 - 나쁜 습관입니다.

+0

먼저 답을 주셔서 감사합니다. 둘째, 싸우지 않으려 고 여기에서 진정하십시오. 오류가 여전히 나타납니다 !!!!!. – Oyster