2010-01-11 6 views
1

hey J'essaye de construire cette classe de débogueur simple afin que je puisse voir les vars flash dans la console du navigateur et si je le test dans l'ide flash j'obtiendrai le bon vieux tracer. Mais pour une raison quelconque ExternalInterface.available renvoie true à l'intérieur de l'IDE Flash !?pourquoi est ExternalInterface disponible à l'intérieur Flash ide

package libs 
{ 
    import flash.external.ExternalInterface; 

    public class debug 
    { 
     public function tracer(variable:*):void 
     { 
      if(ExternalInterface.available) 
      { 
       if(variable is String) 
       { 
        variable = '"'+variable+'"'; 
       } 
       ExternalInterface.call('console.log(' + variable + ')'); 
      } 
      else 
      { 
       trace(variable); 
      } 
     } 
    } 
} 

Répondre

5

Vous pouvez utiliser flash.system.Capabilities.playerType pour déterminer si vous êtes dans le flash ou ide pas ...

import flash.system.Capabilities; 

if (Capabilities.playerType == 'External') 
    trace("you're in the ide"); 
else 
    trace("you're not in the ide"); 
+0

génial! Merci! – antpaw

2

Génial, je dois jouer avec ça.

La raison pour laquelle vous obtenez vrai, si vous utilisez Flash CS4 est parce que la scène à l'intérieur de l'IDE est un fonctionnement SWF, et d'autres choses 3d et les os sont des appels de l'IDE au swf stade utilisant ExternalInterface.

Serait cool de pirater ça! Merci, George

Questions connexes