home *** CD-ROM | disk | FTP | other *** search
/ Mobiclic 136 / MOBICLIC136.ISO / pc / DATA / BLA136 / BLA136_00 / BLA136_00.swf / scripts / __Packages / prod / moteur_v1_0 / V006_GereTextes.as < prev   
Text File  |  2011-07-20  |  18KB  |  569 lines

  1. class prod.moteur_v1_0.V006_GereTextes
  2. {
  3.    function V006_GereTextes(movieRoot, moduleInfo)
  4.    {
  5.       this.movieRoot = movieRoot;
  6.       this.moduleInfo = moduleInfo;
  7.       this.policeBase = "";
  8.       this.positionIB = 0;
  9.       this.gFmtBase = new TextFormat();
  10.       this.gListeLMTemp = new Array();
  11.    }
  12.    function getTextById(myXML, attributeValue)
  13.    {
  14.       this.myText = undefined;
  15.       this.myText = this.recusiveGetTextByAttribute(myXML,"id",attributeValue);
  16.       if(this.myText == undefined)
  17.       {
  18.          trace(attributeValue + " n\'existe pas dans XML");
  19.       }
  20.       return this.myText;
  21.    }
  22.    function recusiveGetTextByAttribute(node, attribute, attributeValue)
  23.    {
  24.       var _loc2_ = 0;
  25.       while(_loc2_ < node.childNodes.length)
  26.       {
  27.          if(node.childNodes[_loc2_].attributes[attribute] == attributeValue)
  28.          {
  29.             this.myText = node.childNodes[_loc2_].firstChild.nodeValue;
  30.             break;
  31.          }
  32.          if(node.childNodes[_loc2_].hasChildNodes())
  33.          {
  34.             this.recusiveGetTextByAttribute(node.childNodes[_loc2_],attribute,attributeValue);
  35.          }
  36.          _loc2_ = _loc2_ + 1;
  37.       }
  38.       return this.myText;
  39.    }
  40.    function appliqueStyle(myNodeName, myValue, lBoldItalic, myClipText, myClipFond)
  41.    {
  42.       switch(myNodeName)
  43.       {
  44.          case "police":
  45.             this.policeBase = String(myValue);
  46.             break;
  47.          case "bold":
  48.             lBoldItalic = String(myValue) + lBoldItalic.charAt(1);
  49.             break;
  50.          case "italic":
  51.             lBoldItalic = lBoldItalic.charAt(0) + String(myValue);
  52.             break;
  53.          case "corps":
  54.             this.gFmtBase.size = Number(myValue);
  55.             break;
  56.          case "justify":
  57.             this.gFmtBase.align = String(myValue);
  58.             myClipText.autoSize = String(myValue);
  59.             break;
  60.          case "underline":
  61.             if(Number(myValue) == 1)
  62.             {
  63.                this.gFmtBase.underline = true;
  64.             }
  65.             else
  66.             {
  67.                this.gFmtBase.underline = false;
  68.             }
  69.             break;
  70.          case "couleurT":
  71.             myClipText.textColor = String(myValue);
  72.             break;
  73.          case "couleurF":
  74.             var _loc5_ = new Color(myClipFond);
  75.             _loc5_.setRGB(Number(myValue));
  76.             break;
  77.          case "opaciteF":
  78.             myClipFond._alpha = Number(myValue);
  79.             break;
  80.          case "position":
  81.             this.positionIB = Number(myValue);
  82.             break;
  83.          case "lien":
  84.             if(Number(myValue) !== 0)
  85.             {
  86.                myClipFond.onRollOver = function()
  87.                {
  88.                   _global.gereCursor(2);
  89.                };
  90.                myClipFond.onRollOut = function()
  91.                {
  92.                   _global.gereCursor(1);
  93.                };
  94.                myClipFond.onPress = function()
  95.                {
  96.                   _global.gereCursor(1);
  97.                   getURL("10",myValue);
  98.                };
  99.                break;
  100.             }
  101.       }
  102.       return lBoldItalic;
  103.    }
  104.    function attribueStyle(myXmlStyle, myID, myClipText, myClipFond, myType, myTextRepere)
  105.    {
  106.       var _loc17_ = 0;
  107.       this.gFmtBase = new TextFormat();
  108.       var _loc8_ = new XML();
  109.       var _loc6_ = "00";
  110.       var _loc2_ = 0;
  111.       while(_loc2_ < myXmlStyle.childNodes.length)
  112.       {
  113.          if(myXmlStyle.childNodes[_loc2_].attributes.id == myType)
  114.          {
  115.             var _loc7_ = 0;
  116.             while(_loc7_ < myXmlStyle.childNodes[_loc2_].childNodes.length)
  117.             {
  118.                var _loc5_ = myXmlStyle.childNodes[_loc2_].childNodes[_loc7_].nodeName;
  119.                var _loc4_ = myXmlStyle.childNodes[_loc2_].childNodes[_loc7_].firstChild.nodeValue;
  120.                _loc6_ = this.appliqueStyle(_loc5_,_loc4_,_loc6_,myClipText,myClipFond);
  121.                _loc7_ = _loc7_ + 1;
  122.             }
  123.          }
  124.          else if(myXmlStyle.childNodes[_loc2_].attributes.id == myID)
  125.          {
  126.             _loc8_ = myXmlStyle.childNodes[_loc2_];
  127.             break;
  128.          }
  129.          _loc2_ = _loc2_ + 1;
  130.       }
  131.       if(_loc8_.childNodes.length !== 0)
  132.       {
  133.          _loc7_ = 0;
  134.          while(_loc7_ < _loc8_.childNodes.length)
  135.          {
  136.             _loc5_ = _loc8_.childNodes[_loc7_].nodeName;
  137.             _loc4_ = _loc8_.childNodes[_loc7_].firstChild.nodeValue;
  138.             _loc6_ = this.appliqueStyle(_loc5_,_loc4_,_loc6_,myClipText,myClipFond);
  139.             _loc7_ = _loc7_ + 1;
  140.          }
  141.       }
  142.       switch(_loc6_)
  143.       {
  144.          case "00":
  145.             this.policeBase += "_p";
  146.             break;
  147.          case "10":
  148.             this.policeBase += "_b";
  149.             break;
  150.          case "11":
  151.             this.policeBase += "_bi";
  152.             break;
  153.          case "01":
  154.             this.policeBase += "_i";
  155.       }
  156.       this.gFmtBase.font = this.policeBase;
  157.       myClipText.embedFonts = 1;
  158.       var _loc12_ = "";
  159.       var _loc9_ = this.myText.split("┬º")[0];
  160.       if(_loc9_ == this.myText)
  161.       {
  162.          myClipText.text = this.myText;
  163.       }
  164.       else
  165.       {
  166.          _loc2_ = 0;
  167.          while(_loc9_ != undefined)
  168.          {
  169.             _loc9_ = this.myText.split("┬º")[_loc2_];
  170.             if(_loc9_ != undefined)
  171.             {
  172.                _loc12_ = _loc12_ + _loc9_ + "\n";
  173.             }
  174.             _loc2_ = _loc2_ + 1;
  175.          }
  176.          myClipText.text = _loc12_;
  177.          if(myTextRepere !== undefined)
  178.          {
  179.             var _loc15_ = myTextRepere.getTextFormat();
  180.             this.gFmtBase.leading = _loc15_.leading;
  181.          }
  182.       }
  183.       myClipText.setTextFormat(this.gFmtBase);
  184.    }
  185.    function afficheST(myST)
  186.    {
  187.       var _loc6_ = this.moduleInfo.returnNodeByPath("Module.StylesTextes.StylesST");
  188.       var _loc7_ = this.moduleInfo.returnNodeByPath("Module." + this.movieRoot.gLangue + ".Sous-Titres");
  189.       this.movieRoot.createEmptyMovieClip("STitres",15900);
  190.       this.movieRoot.STitres.attachMovie("ST","STT_",2);
  191.       var _loc2_ = this.movieRoot.STitres;
  192.       var _loc3_ = _loc2_.STT_.texte;
  193.       var _loc4_ = _loc2_.STT_.fond;
  194.       var _loc5_ = String(myST.split("_").splice(2).join("_"));
  195.       trace("monST " + myST.split("_").splice(2).join("_"));
  196.       this.myText = "";
  197.       this.myText = this.getTextById(_loc7_,_loc5_);
  198.       this.attribueStyle(_loc6_,_loc5_,_loc3_,_loc4_,"ST");
  199.       _loc2_._x = 140;
  200.       _loc2_._y = 600 - _loc3_.textHeight - 3;
  201.       _loc4_._height = _loc3_.textHeight + 10;
  202.       this.movieRoot.gSousTitre = 1;
  203.    }
  204.    function masqueST()
  205.    {
  206.       removeMovieClip(this.movieRoot.STitres);
  207.       this.movieRoot.gSousTitre = 0;
  208.    }
  209.    function afficheTE(myTE)
  210.    {
  211.       var _loc7_ = this.moduleInfo.returnNodeByPath("Module.StylesTextes.StylesTE");
  212.       var _loc6_ = this.moduleInfo.returnNodeByPath("Module." + this.movieRoot.gLangue + ".Titres");
  213.       this.movieRoot.createEmptyMovieClip("Titres",15050);
  214.       this.movieRoot.Titres.attachMovie("TE","TE",2);
  215.       var _loc3_ = this.movieRoot.Titres;
  216.       var _loc5_ = _loc3_.TE.texte;
  217.       var _loc4_ = _loc3_.TE.fond;
  218.       this.myText = "";
  219.       this.myText = this.getTextById(_loc6_,myTE);
  220.       this.attribueStyle(_loc7_,myTE,_loc5_,_loc4_,"TE");
  221.       _loc3_.TE._x = 400;
  222.       _loc4_._x = 400 - _loc5_.textWidth - 30;
  223.       if(this.movieRoot.substr(0,3) == "TCH")
  224.       {
  225.          this.movieRoot.Titres.onRollOver = function()
  226.          {
  227.             if(_root.vocabJeu == 1)
  228.             {
  229.                if(_root.dialogue == 0)
  230.                {
  231.                   this.useHandCursor = 1;
  232.                   _root.joueSon(_root,"TE",0);
  233.                }
  234.                else
  235.                {
  236.                   this.useHandCursor = 0;
  237.                }
  238.             }
  239.             else
  240.             {
  241.                this.useHandCursor = 0;
  242.             }
  243.          };
  244.          this.movieRoot.Titres.onRollOut = function()
  245.          {
  246.             if(_root.vocabJeu == 1)
  247.             {
  248.                if(_root.gCommentOn == 1)
  249.                {
  250.                   _root.stopSon(_root);
  251.                }
  252.             }
  253.          };
  254.       }
  255.    }
  256.    function masqueTE()
  257.    {
  258.       removeMovieClip(this.movieRoot.Titres);
  259.    }
  260.    function afficheLM(p)
  261.    {
  262.       _global.xtrace("afficheLM " + p);
  263.       _global.xlisteObj(p);
  264.       var _loc3_ = p.codeLM;
  265.       if(p.mc == undefined)
  266.       {
  267.          var _loc4_ = this.movieRoot;
  268.       }
  269.       else
  270.       {
  271.          _loc4_ = p.mc;
  272.       }
  273.       if(p.numR !== undefined)
  274.       {
  275.          var _loc11_ = p.numR;
  276.       }
  277.       if(p.X !== undefined)
  278.       {
  279.          var _loc16_ = p.X;
  280.          var _loc15_ = p.Y;
  281.          var _loc13_ = p.width;
  282.          var _loc10_ = p.height;
  283.       }
  284.       var _loc14_ = this.moduleInfo.returnNodeByPath("Module.StylesTextes.StylesLM");
  285.       var _loc12_ = this.moduleInfo.returnNodeByPath("Module." + this.movieRoot.gLangue + ".LegendesMedias");
  286.       if(_loc4_[_loc3_] == undefined)
  287.       {
  288.          _loc4_.createEmptyMovieClip(_loc3_,_global.chercheDepthPlus(_loc4_,0));
  289.          _loc4_[_loc3_].attachMovie("LM","LM",_loc4_[_loc3_].getNextHighestDepth());
  290.          var _loc9_ = _loc4_[_loc3_].LM;
  291.          var _loc8_ = _loc9_.texte;
  292.          var _loc7_ = _loc9_.fond;
  293.          this.myText = "";
  294.          this.myText = this.getTextById(_loc12_,_loc3_);
  295.          if(p.texte_LM != undefined)
  296.          {
  297.             var _loc6_ = _loc4_[p.texte_LM];
  298.          }
  299.          else if(_loc4_["texte_" + _loc3_] == undefined)
  300.          {
  301.             if(_loc3_.split("")[3] == "Q")
  302.             {
  303.                this.gListeLMTemp.push(_loc3_);
  304.                _loc6_ = _loc4_.texte_LMQ;
  305.             }
  306.             if(_loc3_.split("")[3] == "R")
  307.             {
  308.                this.gListeLMTemp.push(_loc3_);
  309.                _loc6_ = _loc4_["texte_LMR" + _loc11_];
  310.             }
  311.             if(_loc3_.split("")[3] == "T")
  312.             {
  313.                this.gListeLMTemp.push(_loc3_);
  314.                _loc6_ = _loc4_.texte_LMT;
  315.             }
  316.             if(_loc3_.split("")[3] == "C")
  317.             {
  318.                this.gListeLMTemp.push(_loc3_);
  319.                _loc6_ = _loc4_.texte_LMC;
  320.             }
  321.             if(_loc6_ == undefined)
  322.             {
  323.                trace("LM envoy├⌐e de director ou de flash avec des coordonnees et dimensions");
  324.                _loc4_.createTextField("texte_" + _loc3_,this.movieRoot.chercheDepthPlus(_loc4_,0),_loc16_,_loc15_,_loc13_,_loc10_);
  325.                _loc6_ = _loc4_["texte_" + _loc3_];
  326.                _loc6_.text = this.myText;
  327.             }
  328.          }
  329.          else
  330.          {
  331.             _loc6_ = _loc4_["texte_" + _loc3_];
  332.          }
  333.          this.attribueStyle(_loc14_,_loc3_,_loc8_,_loc7_,"LM",_loc6_);
  334.          _loc8_._width = _loc6_._width + 10;
  335.          _loc8_._height = _loc6_._height;
  336.          _loc4_[_loc3_]._x = _loc6_._x;
  337.          _loc4_[_loc3_]._y = _loc6_._y;
  338.          _loc6_._visible = 0;
  339.          _loc7_._width = _loc6_._width;
  340.          _loc7_._height = _loc6_._height;
  341.       }
  342.    }
  343.    function masqueLM(p)
  344.    {
  345.       var _loc3_ = p.codeLM;
  346.       if(p.mc == undefined)
  347.       {
  348.          var _loc2_ = this.movieRoot;
  349.       }
  350.       else
  351.       {
  352.          _loc2_ = p.mc;
  353.       }
  354.       removeMovieClip(_loc2_[_loc3_]);
  355.    }
  356.    function videLM(mc)
  357.    {
  358.       if(this.gListeLMTemp.length !== 0)
  359.       {
  360.          var _loc2_ = 0;
  361.          while(_loc2_ < this.gListeLMTemp.length)
  362.          {
  363.             this.masqueLM({mc:mc,codeLM:this.gListeLMTemp[_loc2_]});
  364.             _loc2_ = _loc2_ + 1;
  365.          }
  366.       }
  367.       this.gListeLMTemp = new Array();
  368.    }
  369.    function init_gListeLM(my_array)
  370.    {
  371.       this.gListeLMTemp = my_array;
  372.    }
  373.    function afficheIB(p)
  374.    {
  375.       var _loc6_ = p.codeIB;
  376.       if(p.mc !== undefined)
  377.       {
  378.          var _loc9_ = p.mc;
  379.       }
  380.       else if(p.X !== undefined)
  381.       {
  382.          var _loc8_ = p.X;
  383.          var _loc12_ = p.Y;
  384.       }
  385.       else
  386.       {
  387.          _global.xtrace("le positionnement de l\'IB " + _loc6_ + " necessite soit un clip de reference, soit une position x et y");
  388.       }
  389.       var _loc11_ = this.moduleInfo.returnNodeByPath("Module.StylesTextes.StylesIB");
  390.       var _loc10_ = this.moduleInfo.returnNodeByPath("Module." + this.movieRoot.gLangue + ".InfoBulles");
  391.       this.movieRoot.createEmptyMovieClip("IB",this.movieRoot.getNextHighestDepth());
  392.       this.movieRoot.IB.attachMovie("IB","IB",4);
  393.       var _loc4_ = this.movieRoot.IB;
  394.       var _loc7_ = _loc4_.IB.texte;
  395.       var _loc3_ = _loc4_.IB.fond;
  396.       this.myText = "";
  397.       this.myText = this.getTextById(_loc10_,_loc6_);
  398.       this.attribueStyle(_loc11_,_loc6_,_loc7_,_loc3_,"IB");
  399.       _loc3_._width = _loc7_.textWidth + 10;
  400.       _loc3_._height = _loc7_.textHeight + 10;
  401.       _loc3_._x = -2.5;
  402.       _loc3_._y = -2.5;
  403.       if(_loc8_ == undefined)
  404.       {
  405.          this.placeIB(_loc9_,_loc4_,_loc3_);
  406.       }
  407.       else
  408.       {
  409.          _loc4_._x = _loc8_;
  410.          _loc4_._y = _loc12_;
  411.       }
  412.    }
  413.    function masqueIB()
  414.    {
  415.       removeMovieClip(this.movieRoot.IB);
  416.    }
  417.    function placeIB(mcReference, myClip, myClipFond)
  418.    {
  419.       var _loc14_ = mcReference.getBounds(mcReference);
  420.       var _loc6_ = mcReference._width;
  421.       var _loc9_ = mcReference._height;
  422.       var _loc13_ = {x:0,y:0};
  423.       _loc13_ = _global.ConvertCoord(mcReference,this.movieRoot);
  424.       var _loc7_ = _loc13_.x;
  425.       var _loc10_ = _loc13_.x + mcReference._width;
  426.       var _loc8_ = _loc13_.y;
  427.       var _loc12_ = _loc13_.y + mcReference._height;
  428.       var _loc5_ = (_loc6_ / 2 + _loc9_ / 2) / 3;
  429.       switch(this.positionIB)
  430.       {
  431.          case 0:
  432.             myClip._x = _loc6_ / 2 + _loc7_ - myClipFond._width / 2;
  433.             myClip._y = _loc9_ / 2 + _loc8_ - myClipFond._height / 2;
  434.             break;
  435.          case 1:
  436.             if(_loc5_ >= _loc6_ / 2)
  437.             {
  438.                myClip._x = _loc10_;
  439.                myClip._y = _loc9_ / 2 + _loc8_ - _loc5_ * 2 - myClipFond._height / 2;
  440.             }
  441.             else
  442.             {
  443.                myClip._x = _loc6_ / 2 + _loc7_ + _loc5_;
  444.                myClip._y = _loc8_ - myClipFond._height / 2;
  445.             }
  446.             break;
  447.          case 2:
  448.             if(_loc5_ * 2 >= _loc6_ / 2)
  449.             {
  450.                myClip._x = _loc10_;
  451.                myClip._y = _loc9_ / 2 + _loc8_ - _loc5_ - myClipFond._height / 2;
  452.             }
  453.             else
  454.             {
  455.                myClip._x = _loc6_ / 2 + _loc7_ + _loc5_ * 2;
  456.                myClip._y = _loc8_ - myClipFond._height / 2;
  457.             }
  458.             break;
  459.          case 3:
  460.             myClip._x = _loc10_;
  461.             myClip._y = _loc9_ / 2 + _loc8_ - myClipFond._height / 2;
  462.             break;
  463.          case 4:
  464.             if(_loc5_ * 2 >= _loc6_ / 2)
  465.             {
  466.                myClip._x = _loc10_;
  467.                myClip._y = _loc9_ / 2 + _loc8_ + _loc5_ - myClipFond._height / 2;
  468.             }
  469.             else
  470.             {
  471.                myClip._x = _loc6_ / 2 + _loc7_ + _loc5_ * 2;
  472.                myClip._y = _loc12_;
  473.             }
  474.             break;
  475.          case 5:
  476.             if(_loc5_ >= _loc6_ / 2)
  477.             {
  478.                myClip._x = _loc10_;
  479.                myClip._y = _loc9_ / 2 + _loc8_ + _loc5_ * 2 - myClipFond._height / 2;
  480.             }
  481.             else
  482.             {
  483.                myClip._x = _loc6_ / 2 + _loc7_ + _loc5_;
  484.                myClip._y = _loc12_;
  485.             }
  486.             break;
  487.          case 6:
  488.             myClip._x = _loc6_ / 2 + _loc7_ - myClipFond._width / 2;
  489.             myClip._y = _loc12_;
  490.             break;
  491.          case 7:
  492.             if(_loc5_ >= _loc6_ / 2)
  493.             {
  494.                myClip._x = _loc7_ - myClipFond._width;
  495.                myClip._y = _loc9_ / 2 + _loc8_ + _loc5_ * 2 - myClipFond._height / 2;
  496.             }
  497.             else
  498.             {
  499.                myClip._x = _loc6_ / 2 + _loc7_ - _loc5_ - myClipFond._width;
  500.                myClip._y = _loc12_;
  501.             }
  502.             break;
  503.          case 8:
  504.             if(_loc5_ * 2 >= _loc6_ / 2)
  505.             {
  506.                myClip._x = _loc7_ - myClipFond._width;
  507.                myClip._y = _loc9_ / 2 + _loc8_ + _loc5_ - myClipFond._height / 2;
  508.             }
  509.             else
  510.             {
  511.                myClip._x = _loc6_ / 2 + _loc7_ - _loc5_ * 2 - myClipFond._width;
  512.                myClip._y = _loc12_;
  513.             }
  514.             break;
  515.          case 9:
  516.             myClip._x = _loc7_ - myClipFond._width;
  517.             myClip._y = _loc9_ / 2 + _loc8_ - myClipFond._height / 2;
  518.             break;
  519.          case 10:
  520.             if(_loc5_ * 2 >= _loc6_ / 2)
  521.             {
  522.                myClip._x = _loc7_ - myClipFond._width;
  523.                myClip._y = _loc9_ / 2 + _loc8_ - _loc5_ - myClipFond._height / 2;
  524.             }
  525.             else
  526.             {
  527.                myClip._x = _loc6_ / 2 + _loc7_ - _loc5_ * 2 - myClipFond._width;
  528.                myClip._y = _loc8_ - myClipFond._height / 2;
  529.             }
  530.             break;
  531.          case 11:
  532.             if(_loc5_ >= _loc6_ / 2)
  533.             {
  534.                myClip._x = _loc7_ - myClipFond._width;
  535.                myClip._y = _loc9_ / 2 + _loc8_ - _loc5_ * 2 - myClipFond._height;
  536.             }
  537.             else
  538.             {
  539.                myClip._x = _loc6_ / 2 + _loc7_ - _loc5_;
  540.                myClip._y = _loc8_ - myClipFond._height / 2;
  541.             }
  542.             break;
  543.          case 12:
  544.             myClip._x = _loc6_ / 2 + _loc7_ - myClipFond._width / 2;
  545.             myClip._y = _loc8_ - myClipFond._height;
  546.             break;
  547.          case 13:
  548.             myClip._x = _xmouse;
  549.             myClip._y = _ymouse;
  550.       }
  551.       if(myClip._x < 10)
  552.       {
  553.          myClip._x = 10;
  554.       }
  555.       else if(myClip._x > 800 - myClipFond._width)
  556.       {
  557.          myClip._x = 800 - myClipFond._width;
  558.       }
  559.       if(myClip._y < 10)
  560.       {
  561.          myClip._y = 10;
  562.       }
  563.       else if(myClip._y > 600 - myClipFond._height)
  564.       {
  565.          myClip._y = 600 - myClipFond._height;
  566.       }
  567.    }
  568. }
  569.