블로그 이미지
플래시 개발자랍니다... 하지만 여긴 플래시 전문 블로그가 아닌 그냥 개인 블로그랍니다
미나토

Recent Comment

calendar

        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
  • 40,987total
  • 8today
  • 22yesterday
2008/11/06 14:13 Flash Platform


지지난 주에 정식으로 Flash Player 10 이 업데이트 되었고 Flash CS4 트라이얼 버전도 풀리기 시작했는데... 짬을 내서 사용하다보니 알려진 것 이외의 몇가지 변경점이 발견되었다.




1. 프로젝트 파일 (*.flp) 하위 호환이 안된다.

 좀 어이가 없는 일 중에 하나인데 의도적인 것인지 버그인지 아직은 알 수가 없다. CS3 에서 프로젝트 파일 생성 후 저장하고 CS4 에서 열어보면 포맷이 안맞다는 에러메세지만 뜰 뿐이다.

물론 fla 를 새로 만들어야 하는 것보다야 별 일 아닐 수 있겠지만 하위호환 불가라는 엄청난 변경점은 완성도에 의문이 가게 만드는 일임에 틀림없다




2. 임베디드 폰트의 폰트명이 바뀌었습니다.

제가 제목을 잘 붙인건지 모르겠네요. 다음의 코드를 보시죠

윤고딕 330을 라이브러리에 임베디드 한 후...


var f:Array = Font.enumerateFonts(false);
for(var i:uint=0; i<f.length; i++)
{
    trace(f[i].fontName);
}


을 찍어 보시면 CS3 에서는 "-윤고딕330" 이라고 나오고 CS4 에서는 "YDIYGO330" 이라고 나옵니다

CS3 처럼

TextField.defaultTextFormat = new TextFormat("-윤고딕330", 12, 0);


이라고 코드를 작성하신다면 화면에는 아무 텍스트도 안나오게 될 것입니다



3. TextField 의 크기 구하는 방식이 변경되었습니다

CS3 에서 다음의 코드를 실행하면 노란색과 같이 나옵니다.

var txt:TextField = new TextField();
txt.defaultTextFormat = new TextFormat("-윤고딕330", 20 );
txt.text = "ABCD";
txt.embedFonts = true;
txt.autoSize = TextFieldAutoSize.LEFT
addChild( txt );
trace("[ Test_1 ] Height : " + txt.textHeight + "  Width : " + txt.textWidth );
trace("[ Test_1 ] Height : " + txt.height + "  Width : " + txt.width );


[ Test_1 ] Height : 22.650000000000002  Width : 53.150000000000006
[ Test_1 ] Height : 26.650000000000002  Width : 57.150000000000006



CS4 에서 다음의 코드를 실행하면 노란색과 같이 나옵니다.

var txt:TextField = new TextField();
txt.defaultTextFormat = new TextFormat("YDIYGO330", 20 );
txt.text = "ABCD";
txt.embedFonts = true;
txt.autoSize = TextFieldAutoSize.LEFT
addChild( txt );
trace("[ Test_1 ] Height : " + txt.textHeight + "  Width : " + txt.textWidth );
trace("[ Test_1 ] Height : " + txt.height + "  Width : " + txt.width );


[ Test_1 ] Height : 22.65  Width : 53.15
[ Test_1 ] Height : 26.65  Width : 57.15


이 변경사항이 정확히 소숫점 두째자리에서 반올림을 하는 것인지 아니면 다른 방식인지는 정확히 알 수 없습니다만 보시듯 변경된 것은 확실합니다

별 거 아닌 것처럼 보일 지 모르지만 올림, 내림, 반올림 또는 정수형으로 형변환을 해버리면 정수값이 달라져 버리는 경우가 있기 때문에 화면이 레이아웃이 틀어져 버리는 경우가 생길 수도 있습니다.




4. FileReference 의 보안사항이 변경되었습니다.

자세한건 지돌스타님의 블로그 (http://blog.jidolstar.com/397)에서 확인하시고요.

일반적인 외부 스크립으로 인한 파일레퍼런스 조작이 불가능하게 되었습니다. 강제로 dispatchEvent(new MouseEvent(MouseEvent.CILCK)); 로도 테스트해봤는데 안되었습니다.


예를 들어, 저희 차트 솔루션에는 이미지 저장 기능이 안되기 시작했습니다. 플래시 내의 버튼을 클릭해서 저장을 하는데도 말이죠.

이유인 즉슨 9버전에서는 로컬로 이미지 저장이 안되기 때문에 서버에 저장을 하고 다운로드를 하는 식으로 개발을 합니다(대부분 그렇게들 하시죠). 그런데 그게 문제입니다.

다운로드를 클릭한건 마우스로 한것이지만 다운로드는 서버에 저장된 이후에 시작되는 것인데 그 이벤트는 URLLoader 에서 발생하는 이벤트이기 때문입니다. 위의 보안변경 업데이트로 인해 막히게 되었죠.

결국 player 10 버전의 FileReference.save 메소드를 사용하거나 파일 다운로드 창을 띄우기 위해서는 jsp 단에서 띄워야 하게 되었죠.






뭐, 일단 크게 눈에 띄거나 치명적인 것인 위와 같습니다. 이 문제들이 어도비가 의도한 것이라면(보안업데이트처럼) 다른 해결책을 찾아야 하고 버그라면 수정을 기다려야 할 것 같습니다



p.s. euc-kr 문서의 데이터 오염 문제는 10 버전에서도 여전한 걸로 확인되었습니다
크리에이티브 커먼즈 라이선스
Creative Commons License
posted by 미나토
2008/04/10 12:10 Flash Platform



된다된다 얘기만 있더니 드디어 패치가 됐다.

ms 가 이번 계약을 위해 얼마나 들였는지도 관심거리겠지만 더 중요한 것은 이 일을 계기로 개발자들의 탈 ms 경향이 더욱 심해진 걸 알 수 있다.

현재 베타가 돌고 있는 익스플로러 8의 경우 웹표준을 지원한다고 하는데.... 사실 가장 사용자가 많다는 익스플로러가 8버전이나 되서야 표준을 지원한다니... 7은 에뮬로 지원한다니 넌센스가 아닐 수 없다

사파리는 한글이 불안정하니 신경 끈다 쳐도... 8 표준도 아직 불안정하고 7과 6도 호환이 잘 안되는데.... 이제 개발자들은 익스플로러 6,7,8 버전과 웹표준용을 모두 테스트 해야 하게 생겼다

뭐, 안정화되면 이제 진정한 웹표준으로서 자리잡을 지 모르겠으나...그게 언제가 될지 아나....

이올라스가 작년, 재작년 개발자들에게 밤샘을 시키고 플래시 보안이 작년 개발자들에게 밤샘을 시키더니 이젠 브라우저 대란이다.


아참, xp sp3 과 비스타 sp1 도 나왔더군...도대체 테스트해야 할게 몇개야....


산넘어 산...이거 11사단에서 했었던 행군이 생각나는데...



p.s. 뜬금없이 플래시 플레이어도 업데이트 했다는.... 뭔 날이냐?
http://www.adobe.com/support/documentation/kr/flashplayer/9/releasenotes.html






크리에이티브 커먼즈 라이선스
Creative Commons License
posted by 미나토
2007/12/28 11:33 Flash Platform
업데이트 된지는 꽤 됐지만

http://www.adobe.com/support/documentation/kr/flashplayer/9/releasenotes.html

한국말로 검색하니 검색이 잘 안되네...영어로 검색해서 겨우 찾았다는...


우리집 pc에서 플래시가 소리가 안나는 이유를 이제야 알았다


결론은 아직도 버그가 수없이 많다는 거...
크리에이티브 커먼즈 라이선스
Creative Commons License
posted by 미나토