클래스 내의 특정 기능이 실행될 때 해고되는 맞춤 이벤트를 만들었습니다. 내 메인 스크립트 내에서이 이벤트를 듣습니다. 타임 라인의 프레임 중 하나입니다. 좀 더 나은 내 질문을 이해하는 코드를 참조하십시오.맞춤 이벤트가 발신자에게 도착하지 않습니다.
내 CustomEvents.as 위의 함수를 호출하고, 반환 된 이벤트를 수신하는 이벤트
public function exitPage(){
dispatchEvent(new CustomEvents(CustomEvents.PAGE_EMPTY));
var mainLinkExitMove:Tween = new Tween(mainLink, "y", Strong.easeOut, mainLink.y , -150, 3, true);
var gridExitMove:Tween = new Tween(grid, "y", Strong.easeOut, grid.y , -150, 3, true);
}
그리고 마지막으로 코드를 전달 FRONT_PAGE.as 내
package {
import flash.events.Event;
public class CustomEvents extends Event {
public static const PAGE_EMPTY:String = "Page Empty";
public function CustomEvents(type:String) {
super(type);
trace("hello from within the event class!");
}
}
}
기능. frontPage는 코드에서 앞에서 선언 한 FRONT_PAGE.as 클래스의 객체입니다.
function gotoSubPage(){
frontPage.exitPage();
frontPage.addEventListener(CustomEvents.PAGE_EMPTY, ef_FrontPageFinishedExiting);
function ef_FrontPageFinishedExiting(event:CustomEvents){
trace("Event has been caught");
}
}
CustomEvents 생성자에 도착하면 그 내부의 추적 내용이 인쇄됩니다. 이벤트가 함수 호출자에게 전달되지 않는 것 같습니다.
간단한 사용자 정의 이벤트 사용 방법에 대한 좋은 예제를 찾을 수 없었으므로 이것이 어떻게 될 것으로 생각됩니다. 내가 도대체 뭘 잘못하고있는 겁니까?
감사합니다, 당신의 솔루션을했다! Event 클래스의 작동 방식을 알지 못합니다. 단지 / clone() 메서드가 무엇인지 설명해 주시겠습니까? 감사합니다. – getack
새로운 유형을 생성하기 위해 새로운 이벤트 클래스를 정의 할 필요는 없습니다. 그 유형을 상수 일 경우, 괜찮지 만 상수는 단지 상수 값을 저장하는 파일에 저장 될 수 있습니다. http://flexdiary.blogspot.com/2007/08/dispatching-events.html –
@AmyBlankenship 사실인데, 내가 생략 한 것 (그리고 귀하의 게시물이 설명하는 것)은 사용자가 필요로하는 이벤트와 함께 일부 데이터가 전달되기를 원하는 경우였습니다. 행사. – kreek