Как я могу показать не-ascii символы в MovieClip, используя ExternalInterface и вызвать? - PullRequest
0 голосов
/ 19 марта 2012

У меня есть некоторые мувиклипы с TextField.Я хочу, чтобы в этих текстовых полях были символы, отличные от ascii.

Мой вопрос: Как мне избежать \ отправить специальные символы, чтобы я мог их хорошо видеть в MovieClip?

Когда я просто ввожу эти символы, они обрезаются.Видны только символы ascii.

[см. Ниже, примечания в HTML-коде]

Когда я пытаюсь использовать экранирование Unicode, я просто вижу исходную экранированную строку.Хотя это следует делать согласно [Создание мультиязычных документов с использованием текстовых переменных] в

http://help.adobe.com/en_US/flash/cs/using/WSd5f4b6c52cfaa4b179ef359133a95cac4a-8000.html#WS754A19FC-48CE-49ee-8EF2-B9C927F64BEB

http://help.adobe.com/en_US/Flash/10.0_UsingFlash/WSD4DFC446-FA27-4b25-8346-C5498B5352FC.html

http://livedocs.adobe.com/flash/9.0/UsingFlash/help.html?content=WSd60f23110762d6b883b18f10cb1fe1af6-7ceb.html

Я предпочитаю отправлять символы по своему усмотрению (со своей стороны), а не изменять код actionScript (у меня нет простого доступа для изменения этого кода. Только если я должен ...).

Спасибо,

Атара.

мой HTML-код:

  . . .
  <input type="text" size="45" id="txt0" value="Facoltà di Français montrés contrôleurs très María Mª ">
  <!--
  Does not work. 
  The MovieClip show [Facolt di Franais montrs contrleurs trs Mara M]
  It skips non-ascii characters.
  -->
  <br>
  <input type="text" size="45" id="txt1" value="greek small letters entities: &#945; &#946; &#960; &#961;">
  <!--
  Does not work. 
  The MovieClip show [greek small letters entities:]
  It skips non-ascii characters.
  -->
  <br>
  <!--  <input type="text" size="45" id="txt2" value="greek in unicode: U+03B1 U+03B2 U+03C0 U+03C1 "> 
  Does not work. 
  The MovieClip show the original [greek in unicode: U+03B1 U+03B2 U+03C0 U+03C1]
  without escaping
  -->
  <input type="text" size="45" id="txt2" value="greek in unicode: \u03B1 \u03B2 \u03C0 \u03C1 ">  
  <!-- 
  Does not work. 
  The MovieClip show the original [greek in unicode: \u03B1 \u03B2 \u03C0 \u03C1]
  without escaping.          
  -->
  <br>
  <INPUT TYPE="BUTTON" style="width:250px" OnClick="fRunSetFirstScreen();" VALUE="Run SetFirstScreen()">
  . . .

мой код JavaScript:

// - - - - - - - - - - - - - - -
function fRunSetFirstScreen(){
// - - - - - - - - - - - - - - -
   alert("fRunSetFirstScreen()");

   objF = mcGetObjF("mySwf1");
   obj0 = document.getElementById("txt0");
   obj1 = document.getElementById("txt1");
   obj2 = document.getElementById("txt2");

   var strRequest = "";
   strRequest = strRequest + "<invoke name='RunSetFirstScreen' returntype='void'>";
   strRequest = strRequest + "<arguments>";
   strRequest = strRequest + "<string>" + obj0.value + "</" + "string>";
   strRequest = strRequest + "<string>" + obj1.value + "</" + "string>";
   strRequest = strRequest + "<string>" + obj2.value + "</" + "string>";
   strRequest = strRequest + "</" + "arguments>";
   strRequest = strRequest + "</" + "invoke>";
    alert(strRequest);
   objF.CallFunction(strRequest);
}

Код сценария действия:

// ==============================================
public class myroot extends MovieClip {
// ==============================================

  private var lines:Array=new Array("","","");

  ExternalInterface.addCallback("RunSetFirstScreen", fSetFirstScreen);

  // ==============================================
  public function fSetFirstScreen(l0, l1, l2):void {  // External Interface.
  // ==============================================
    lines[0]=l0;
    lines[1]=l1;
    lines[2]=l2;
  }

  // ==============================================
  public function setRightMenu() { 
  // ==============================================
    . . .
    for (i = 0; i < lines.length; i++) {
        itemM = new itemMenu();
        itemM.ptxt = lines[i];
        itemM.psize = psize1;
        itemM.x = x1;
        itemM.y = y1+dy*i;
        addChild(itemM);
        itemM.setParam();
        arrRightMenu.push(itemM);
       }
       . . .
   }



// ================================================
public class itemMenu extends MovieClip {
// ================================================
   . . .
  public var txt1:TextField;
  public var ptxt:String = "";
  public var psize:int = 0;
  . . .


  // ==============================================
  public function setParam() {
  // ==============================================
    txt1.text = ptxt1;
    . . .
...