ADOBE/ ActionScript

액션스크립트 폰트가 없는 디바이스에서 액션스크립트 개발시 swf의 컨텐츠의안의 TextField 안에 폰트가 embedFonts 가 안될때.

AlrepondTech 2015. 3. 24. 17:40
반응형

 

 

 

 

=================================

=================================

=================================

 

 

 

 

 

//swf 제작시 텍스트 필드 넣기전에 무비클립에 텍스트 필드를 add해 다른 오브젝트를 add 할수 있겠끔 한다.

//현재 없는 함수들은 대충 구현되었다고 가정하에 설명

 

private var _objSubTitle:TextField  = null;

private var _subTitleEx:TextField   = null;

 

function test()

{

   

   //jap font add 

   Font.registerFont(meiryo); //대충 swc를 폰트라이브러리 class를 만들어 registerFont 했다고 치자.

 

 

   _displayObj = loadSwfObj(); //swf를 넘겨준다. //loadSwfObj(); swf를 읽어 obj형태로 넘겨준다고 치자.

 

    var tmpMV:MovieClip = _displayObj.getChildByName("mc_subtitle") as MovieClip;

    _objSubTitle = tmpMV.getChildByName("mc_text1") as TextField; //swf 의 TextField 부분

  

    _objSubTitle.visible = false;

 

    if(_subTitleEx == null)

    {

_subTitleEx = new TextField();

_subTitleEx.defaultTextFormat = _objSubTitle.defaultTextFormat;

_subTitleEx.setTextFormat(_objSubTitle.defaultTextFormat);

_subTitleEx.x = _objSubTitle.x;

_subTitleEx.y = _objSubTitle.y;

_subTitleEx.width  = _objSubTitle.width;

_subTitleEx.height = _objSubTitle.height;

 

_subTitleEx.accessibilityImplementation = _objSubTitle.accessibilityImplementation;

_subTitleEx.accessibilityProperties = _objSubTitle.accessibilityProperties;

_subTitleEx.antiAliasType = _objSubTitle.antiAliasType;

_subTitleEx.blendMode = _objSubTitle.blendMode;

_subTitleEx.border = _objSubTitle.border;

_subTitleEx.borderColor = _objSubTitle.borderColor;

_subTitleEx.cacheAsBitmap = _objSubTitle.cacheAsBitmap;

_subTitleEx.cacheAsBitmapMatrix = _objSubTitle.cacheAsBitmapMatrix;

_subTitleEx.condenseWhite = _objSubTitle.condenseWhite;

_subTitleEx.filters = _objSubTitle.filters;

_subTitleEx.embedFonts = true;

tmpMV.addChild(_subTitleEx); //액션스크립트로 만든부분을 넣어준다.

    }

 

   //만약 _objSubTitle 의 swf의 문자가 계속 바끼는 형태라면

   //swf에 따로 이벤트로 만들어주어 넣어주거나 아래와같이 해준다.

   this.addEventListener(Event.ENTER_FRAME, function f():void

   {

        if(_objSubTitle != null && _objSubTitle != null)

 {

_subTitleEx.text = _objSubTitle.text;

 }

   });

 

}

 

 

 

=================================

=================================

=================================

 

 

반응형