수행중인 임의의 함수를 정지하는게 가능한가요?
알프레드
플래시 프로그램 전체 구간에 대해서 사용자가 프로그램 나가기 버튼을 누르면 진행중이던 모든 프로세서를 멈추고 약속된 다른 함수를 수행하려고 합니다. 진행중이던 것이 계속 진행하면 엉키니까요. 진행중이던 프로세스는 전체 과정이 복잡하여 어떤 것인지를 막상 알아내기가 어렵습니다. 1) 다양한 타이머들이 중간에 있고, 2) 동영상을 로드 컴플릿 하면 이에 연결된 함수도 있고, 3) 유저의 인풋을 기달리는 이벤리스너 들도 중간에 만들어 졌다 사라지기도 합니다. 이것들 중에서 현재 상태가 어디이고 뭐가 살아있는지를 알아야 이를 중지할 수 있을 것 같습니다. 1) 나가기 버튼이 눌러진 상태에서 찾아내는 방법이 있는지 알고 싶습니다. 2) 타이머 중의 일부는 선언이 되어 있으나 초기화가 안되어 있을 수도 있습니다. 3) 이벤리스너는 살아 있기도 하고 이미 리무브 되어 있기도 합니다. 어느게 살아 있는지 알수 있을까요? 4) 사운드나 동영상의 일부는 현재 플레이 중일수도 있습니다. 나가기 함수는 Event.Close나 Event.Closing을 받아서 처리하고 있습니다. 고수님들의 의견을 바랍니다. 감사합니다.
-
흰추위
원) 변칙적인 해결법은 타이머는 null 체크후에 running 을 단계적으로 체크하고, addEvenListener는 모두검색한 후에 hasEvenlistener를 체크해서 true 인 경우에는 중지를 시켜서 해결했습니다. 근데 ... 프로그램이 점점 지저분해 지고 있습니다. ... ^^