TM.DebugManager

소스 코드 보기: https://github.com/a-mean-blogger/text-game-maker-js/blob/master/src/managers/debug-manager/debug-manager.js

타입

클라스(TM.IObject를 상속받음)

용도

프로그램 개발 중, 디버깅을 위해 실시간 데이터를 브라우저에 표시해주는 인스턴스를 만들기 위한 클라스입니다.

생성자 인자들

new TM.DebugManager(debugSetting)
  • customSreenSetting(옵션): TM.defaultSettings.debug의 형태의 값을 받아 스크린을 설정합니다. 만약 값이 없으면 TM.defaultSettings.debug의 기본값을 사용합니다. 기본값은 디버깅 데이터를 출력하지 않도록 되어 있으므로 이 인스턴스를 사용하기 위해서는 반드시 {devMode:true}를 전달해야 합니다.

중요 항목들

  • isActive: init 함수가 실행되면 true(활성화 상태)가 되고 inactivate 함수가 실행되면 false(비활성화 상태)가 됩니다. 현재 활성화/비활성화 상태를 확인할 수 있는 항목입니다.

중요 함수들

  • init(): 인스턴스를 활성화 상태로 만듭니다.(인스턴스 생성시 자동 실행)
  • inactivate(): 인스턴스를 비활성화 상태로 만들고 더이상 디버깅 데이터를 출력하지 않습니다.

디버깅 관련 함수들

  • print(name,data): object의 형태로 입력받은 data를 name으로 등록한 후 브라우저에 출력합니다. 만약 이미 해당 name의 값이 출력되어 있는 상태라면 새 값으로 바꿉니다.
  • delete(name): name의 디버깅 데이터를 지웁니다.
  • deleteAll(): 모든 출력된 디버깅 데이터를 지웁니다.

코드 작성 예제

**예제 소스 코드 보기: debug-manager-tutorial.js

var TMS(Text Game Maker Screen)에 TM.ScreenManager의 인스턴스를 생성합니다.
var TMD(Text Game Maker Debugging)에 TM.DebugManager의 인스턴스를 생성합니다. {devMode:true}를 넣어 디버깅 데이터를 출력하도록합니다.

var TMS = new TM.ScreenManager(),
    TMD = new TM.DebugManager({devMode:true});

1000 milliseconds 마다 현재 시간을 생성하고 1,1 좌표위치에 출력하는 인스턴스를 만듭니다. 또한 TMD.print함수를 이용하여 date를 브라우저에 출력하도록 합시다.

var myWatch = new TM.Interval(1000,function(){
  var date = new Date();
  TMS.insertTextAt(1,1,date.toLocaleTimeString());
  TMD.print("watchData",{date:date});
})
myWatch.init();

예제의 실행

 

화면 우측에 date으로 사용되는 값이 실시간으로 나오는 것을 볼 수 있습니다.

현재 페이지의 브라우저 콘솔을 연 다음 아래의 명령어들을 입력하여 바로 테스트해 봅시다.

//TMD 비활성화
TMD.inactivate();

//TMD를 다시 활성화
TMD.init();

댓글

댓글쓰기

이 글에 댓글을 다시려면 SNS 계정으로 로그인하세요. 자세히 알아보기

UP