14/2/16 일
try-catch 구문 등으로 외부 텍스트 파일을 불러오는데 실패했을 경우에대한 조치가 필요해 보여
코드 수정 시작.
한데 try-catch문을 쓸 필요없이
txtLoader.addEventListener(IOErrorEvent.IO_ERROR, txtLoadFail);
로 해결할 수 있었다.
txtLoader.addEventListener(IOErrorEvent.IO_ERROR,
txtLoadFail);
//파일 불러오기 실패시 처리 함수 호출
function txtLoadFail(e:IOErrorEvent){
//텍스트 불러오기 실패시 처리 함수
ask.txt.text = "\nWind's Memorizer";
//var matching=e.text.match(/^Error.+:\/\//);
e.text = e.text.replace(/^Error.+:\/\//, "");
//정규표현식을 이용해 에러문장 중 파일명만 남기기
answer.txt.text = "\n"+e.text+"의"+
"\n파일 불러오기에 실패했습니다.";
selBtn.addEventListener(MouseEvent.MOUSE_UP, clickSelBtn);
//다른 외부 파일을 불러올 수 있도록 '다른 암기장 부르기'버튼 활성화시키기
}
위 처럼 수정을 완료했는데 플래시 상에서 테스트할 때는 정규표현식을 이용하여 불러오는데 실패한 파일명만을
따로 잘라 보여주는게 가능했지만 일반 폴더상에서 swf를 실행했을 때는 그냥 에러코드만 나와 위의 저
정규표현식을 이용한 코드들이 소용없게되는 문제가 발생.
하여 불러올 파일명을 임시로 저장할 변수를 선언하여 활용하는 보다 간단한 방법으로 불러오기 실패시 실패한
파일명 보여주기 기능 성공.
14/2/13 수
Flash+actionScript 3.0 암기장 수정.
추가된 기능:
- 간단한 영숙어와 한자 사전 추가.
- '다른 암기장 부르기' 버튼을 클릭하면 뜨는 메뉴 중 원하는 암기장을 선택해 공부할 수 있다.
- 창에 가림막을 설치. 텍스트 창 위와 아래에 위치한 회색 삼각형이 있는 부분을 누르면 해당 창이
가려지고 다시 누르면 창이 보인다.
* 다른 암기장 부르기 버튼 추가.
해당 버튼을 누르면 고를 수 있는 암기장 종류가 뜨고 그 중 한 개를 누르면 누른 암기장에 해당하는
외부 txt 파일을 불러와 배열에 넣고 랜덤으로 섞은 뒤 일정간격으로 디스플레이하는 구조.
* txtLoadStart()함수에 매개변수로 불러올 파일명 문자열을 넣어 호출하면 해당 파일명의
파일을 불러오게 변경.
ex) txtLoadStart("불러올 파일명.txt"); //텍스트 불러오기 함수
호출
* 텍스트 필드의 글자 크기를 변경해서 돌려보내는 함수인txtSizeChange(변경할 텍스트필드명,
변경할 사이즈); 추가.
function txtSizeChange(textFieldName, txtSize:int){
//텍스트필드의 텍스트 크기를 변경하는 함수****
var txtForm:TextFormat =new TextFormat();
txtForm.size = txtSize;
textFieldName.defaultTextFormat =txtForm;
}
* 질문란과 답변란 각각의 창에 가림막을 설치해 누르면 토글로 창을 가리거나 다시 보이게 하는 기능
추가.
14/2/11 화
Flash+actionScript 3.0 암기장 수정.
이전에 만들었던 암기장의
1. 디자인을 심플하게 변경.
2. 외부 텍스트 파일을 불러와 실행시키게 변경.
3. 멈추기 버튼을 누르면 앞, 뒤 단어를 수동으로 볼수 있는 기능 추가. 화살표 버튼를 누르면 앞,
뒤 단어를 볼 수 있고 재시작 버튼을 누르면 다시 일정시간 간격으로 자동 디스플레이 된다.
외부 텍스트 파일의 형태는 '문제&답&문제&답&...'의 형태로 구성하고
불러 들일 때
str = str.replace(/\r/g, "");
//정규표현식이용해 바꾸기
qaArr = str.split("&"); //&를
기준으로 잘라 배열에 저장.
이런 식으로 정규표현식을 이용해 텍스트 문서에 \n과 함께 중복으로 들어가 있는 \r을 제거한 뒤 split()
메서드를 이용해 요소별로 잘라내 배열에 저장하는 방식을 썼다. |