이것은 매우 간단한 이벤트입니다. 그것이 효과가없는 이유는 나를 미치게 만드는 것입니다.커스텀 액션 스크립트 3 이벤트 "슈퍼"기능이 작동하지 않습니다.
이 내 AsciiArt 클래스에 있습니다
package
{
import flash.events.*;
public class ArtEvent extends Event
{
public static const DONE_NOW = "done";
public function ArtEvent()
{
super(DONE_NOW);
trace("constructed");
}
}
}
나는 내가 AsciiArt 객체를 인스턴스화하고있어 어디에 내 .FLA로 인해 발사 것을 알고이 매우 간단한 이벤트 클래스를 발생
dispatchEvent(new ArtEvent());
완료되면이 코드로 "생성 됨"을 추적합니다.
나는 물론 내 이벤트 리스너를 붙인다. (어떤 것도하지 않는 것 같다.
art.addEventListener(ArtEvent.DONE_NOW, function():void{ trace("hi"); });
따라서 요약하면 "생성 됨"이 추적됩니다. 그러나 "안녕"은 그렇지 않습니다.
아이디어가 있으십니까? 감사 -J
편집 - 클래스 코드에 블록을 게시하는 경우 (올바른 이벤트 유형을 잡기 및 인수의 NUM 일치)
또한art.addEventListener(ArtEvent.DONE_NOW, function(event:ArtEvent) {
trace("hi");
});
가 :(
은 어디에서 이벤트를 전달하는? AsciiArt의 생성자에 있습니까? 이벤트가 등록되기 전에 해고되고 있는지 확인하십시오. – bhups
시스템에 과부하가 걸리지 않도록이 이벤트를 실행하고 있습니다. 클래스는 노동 집약적 인 비트 맵 작업을 수행합니다. 루프가 완료 될 때까지 기다렸다가 시간 초과에 대한 걱정없이 재발행 할 수 있습니다. 그것은 생성자에 있지 않습니다, 생성자는 내 변수를 설정하고 내 비트 맵의 픽셀을 통해 실행되는 루프를 호출합니다. (궁금하다면 http://blog.sugarpillfactory.com/?p=332에서 모든 것을 볼 수 있습니다.) 디스패치 이벤트는 yPos가 이미지의 맨 아래에 도달 한 후에 존재합니다. –
@bhups, 나는 네가 옳았다 고 생각한다. 내 클래스에서 파견 이벤트 함수를 만들고 클래스를 인스턴스화 한 후에 호출하고 내 결과를 얻었습니다. 어떻게 든 그것은 호출되기 전에 등록하지 않습니다. 대답으로 쓰고 싶다면 초록색 체크 표시를 할 것입니다. –