2011-07-28 1 views
0

해결할 수없는 문제가 있습니다. 저는 움직이는 물체 (안내선상의 원) 다음에 선을 그리는 애니메이션을 만들고 있습니다. 이 원은 무비 클립이고 많은 선을 그어야합니다. 그래서 저는 그것들을 여러 장면으로 나눠 씁니다. 영화 클립으로 버튼을 만들었고 누를 때 선이 그려집니다. 제대로 작동하려면 모든 것이 필요하지만 한 줄을 그릴 때 동일한 줄을 다시 그리기 위해 동일한 단추를 누르면 오류 코드가 표시됩니다. #1009 cannot access a property or method of a null object reference.선을 그리고 오류 코드 # 1009을 수신

그래픽이 여전히 존재하기 때문에 생각합니다. 다시 그려지기 전에 그것을 깨끗하게하는 것처럼 보일 수 없습니다. 나는 graphics.clear();을 사용했으나 모두 삭제되었으므로 다시 그려야 "movieclip-animation"만 작동합니다. 여기에 어떤 문제가 있습니까?

import flash.display.Shape; 
import flash.events.Event; 

var shape = new Shape(); 
shape.graphics.lineStyle(2,0xFF0000); 
shape.graphics.moveTo(ani1.x, ani1.y); 
addChild(shape); 

addEventListener(Event.ENTER_FRAME, loop); 

function loop(event:Event):void 
{ 
    shape.graphics.lineTo(ani1.x, ani1.y); 
} 

및 버튼에 대한 코드는 다음과 같습니다 : 라인 드로잉

내 코드는

import flash.events.MouseEvent; 

stop(); 

menu_button1.addEventListener (MouseEvent.CLICK, buttonClick); 

function buttonClick (event:MouseEvent):void 
{ 
    gotoAndPlay(2, "AniDel1"); 
} 

및 애니메이션의 모든 끝에 stop(); 있습니다.

+0

장면을 없애 버리려고하면 악합니다. 그리고 당신이 장면을 사용할 때 변수의 범위/수명이 무엇인지 모르겠습니다. ENTER_FRAME 리스너에서 오류가 발생할 수 있습니다. 장면을 전환했기 때문에 여전히 실행 중이지만 모양이 더 이상 정의되지 않았습니다 ... – pkyeck

+0

지금 시도했지만 작동하지 않습니다. 같은 오류 코드가 나타납니다.// 그러나 다른 아이디어를 도와 주셔서 고마워요? – Cat

+0

'ani1'이 원입니다. 타임 라인의 모든 프레임에있는 원입니까? 타임 라인에 여러 개의 키 프레임이 있습니까, 모든 키 프레임에 설정된 원의 이름입니까? errormsg는 null 포인터 예외가 발생하는 코드 행에 대해 아무 말도하지 않습니까? – pkyeck

답변

0

내가 당신을 위해 함께 예를 들어, FLA에 넣어 : anitest.fla.zip

희망이 당신의 문제를 해결합니다.

+0

hnaks :) 이거 멋지 네요! 하지만 난 일하러 가야 해. 유일한 버튼은 더 많은 버튼을 만들고 더 많은 선을 그릴 때 유일한 문제 야. 예를 들어, "a"버튼과 "b"두 개의 그림이 그려지는 예를 3 번째 또는 4 번째 프레임과 함께 (다른 아 이어스에) 작성하고 "a"버튼을 클릭하면 예를 그릴 수 있습니까? "b"를 클릭하면 "a"에 그려진 내용이 지워지고 "b"에 무엇이 그려 집니까? ... 그리고 "a"와 "a"가 다시 나타나면 다시 지우고 처음부터 그립니다. 저는 잘 설명하지 못합니다 : p 그러나 당신은 이해합니까? :) – Cat

+0

@cat 여러분은 클래스에서 코딩하고 타임 라인을 없앨 생각을해야합니다.프로젝트가 복잡해질수록 타임 라인의 모든 것을 유지하는 것이 어려워집니다. IDE에서 애니메이션 에셋을 만들어 SWC로 모두 내보내고 모든 것을 제어하는 ​​클래스를 작성합니다. – pkyeck