Archive for the ‘ ActionScript ’ Category

Flash Develop: Erro no code hint do Math.atan2

Estava eu a criar uns exemplos de trigonometria pra postar aqui, usando o Flash Develop 3.2.2 pra codar e notei esse erro,  que a primeira vista achei ter sido mudança de sintaxe, apesar de que desde os tempos do AS2, o método estático atan2 sempre foi o mesmo, Math.atan2(y:Number, x:Number).

O code hint aparece com os parâmetros trocados:




Conferindo no Flash IDE:





Você pode simplesmente usar do jeito correto, ignorando o code hint, mas caso você queira consertar basta usar o goto declaration (F4 no método), localizar o SWC com os ASDOC, descompactá-lo, consertar e compactá-lo novamente.







PS.: Esse erro já foi corrigido nas versões posteriores.

 

AMFPHP: Error #2044: Unhandled NetStatusEvent: level=error, code=NetConnection.Call.BadVersion

Estou com uma idéia de projeto interessante e esta semana comecei a pesquisar as plataformas que poderiam atender essa idéia. Comecei com famoso AMFPHP.

Baixei a versão mais recente e fui assistir uma palestra de introdução ao AMF, mas logo num teste dos mais básicos, ao Flash tentar chamar um método do PHP acontece o erro, maldito erro!

Error #2044: Unhandled NetStatusEvent: level=error, code=NetConnection.Call.BadVersion

Tá bom, Unhandled NetStatusEvent é solucionável, basta adcionar um listener pro NET_STATUS, mas realmente acontece um erro de NetConnection. Procurando pelos fóruns, não se encontra uma solução racional, simplesmente em cada incidência do erro é apontada uma solução diferente.
Eu tentei trocar nomes de classes, conferir urls e paths, desinstalar e instalar módulos do apache, do php, e nada.

O que funcionou pra mim foi baixar uma versão anterior à última:  amfphp-1.9.beta.20080120, seguindo a dica do Danilo Castilho {ASDevs}. Ainda não sei o porque da versão mais recente ter esse problema, mas pretendo descobrir.

Mas outras soluções podem ser:

  • Tirar espaços em branco, antes e depois das tags php.
  • Comentar a linha “$gateway->disableStandalonePlayer();” no gateway.php, que impede a comunicação quando se está usando por um player isolado.
  • Problemas com a versão do encoding de AMF usado: myService.objectEncoding = ObjectEncoding.AMF0; // .AMF3

Conversão de HTML Entities – AS3

As HTML Entities ( “Entidades HTML” ) são códigos, oriundos de uma tabela de conversão, que representam caracteres e símbolos não tão comuns quanto letras e números. Pra ficar mais fácil de entender…

Caracter Descrição Nome da Entidade Número da Entidade
espaço não separável    
< menor do que &lt; &#60;
> maior do que &gt; &#62;
& e comercial &amp; &#38;
aspas &quot; &#34;

Recentemente fiz alguns projetos em AS3 que carregavam dados de umRSS, e em quase todos os símbolos estavam convertidos às suas entidades HTML, para converter em seus símbolos é super simples.

?View Code ACTIONSCRIPT
public function htmlUnescape(str:String):String
{
    return new XMLDocument(str).firstChild.nodeValue;
}
 
// exemplo:
trace(htmlUnescape("Cachorro &amp; gato"));  // Cachorro & gato

Caso você precise converter os símbolos em entidades:

?View Code ACTIONSCRIPT
public function htmlEscape(str:String):String
{
    return XML( new XMLNode( XMLNodeType.TEXT_NODE, str ) ).toXMLString();
}
 
// exemplo:
trace(htmlUnescape("Cachorro & gato"));  // Cachorro &amp; gato

E caso você ainda viva no mundo pré-histórico do AS2, também há solução:

?View Code ACTIONSCRIPT
function htmlUnescape(str:String):String
{
    return new XML(str).firstChild.nodeValue;
}
 
function htmlEscape(str:String):String
{
    return new XMLNode( 3, str ).toString();
}

Créditos: http://www.razorberry.com/blog/archives/2007/11/02/converting-html-entities-in-as3/