trace ("test"); 내 flashdevelop 프로젝트의 진입 점에서 실행하십시오. 응용 프로그램이 잘 실행되지만 출력에 추적이 표시되지 않습니다. 아래는 내 코드입니다Trace() 메서드가 FlashDevelop에서 작동하지 않습니다.
package
{
import flash.display.Sprite;
import flash.events.Event;
/**
* ...
* @author Anthony Gordon
*/
public class Main extends Sprite
{
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
trace("test");
removeEventListener(Event.ADDED_TO_STAGE, init);
// entry point
var game:Game = new Game(stage);
addChild(game);
}
}
}
나는 이벤트 리스너 (Main' '의 다른에) 추가하지 않을 경우 removeEventListener''에 대한 호출이 실패합니다 확신 해요.또한, (중단 점을 사용하여) init이 처음에 호출되고 있는지 확인하십시오. 그렇지 않으면 문서 클래스가 무대에 추가되지 않는다는 의혹이 있습니다. 그러나 나는 틀릴 수있다! – Cameron
@Cameron : 아니요, 죄송합니다. 그건 틀렸어요. 언어 참조를보십시오. 핸들러가 이미 디스패처에 등록되어 있는지 여부를 확인할 방법이 없다는 것을 알게 될 것입니다. 따라서 이러한 동작은 실제로 큰 결함이됩니다. – back2dos
@ back2dos : 네 말이 맞아! 'hasEventListener'가 있지만 특정 콜백없이 이벤트 유형 만 검사합니다. – Cameron