ALK Armando Leopoldo Keller


Movendo o Blog
10 Abril, 2009, 7:42 pm
Arquivado em: AS 2.0

Bom, acho que ja era tempo de mudar o blog de lugar.

Novo endereço: http://armandokeller.com/blog

apartir de hoje eu só postarei no endereço novo.

Lembro que copiei boa parte dos posts antigos para o novo endereço.



BUG com numeros no AS2 que foi ‘corrigido’ no AS3
20 Agosto, 2008, 11:31 pm
Arquivado em: AS 2.0, AS 3.0, Flash geral | Tags: , , , , ,

Não sei se alguem percebeu, mas no AS2 tinha um ‘erro’ se é que da para chamar assim, pois na documentação possui um exemplo.
Quando tem algum numero com 0 na frente ele convertia para octal. Agora no AS3 ele converte certo para decimal. É bom avisar, vai que alguem ta acostumado com o octal.
Exemplos e comparaçoes
Conversão da base:

// Execute isso:
trace(00000001)
trace(00000010)
trace(00000100)
trace(00001000)
trace(00010000)
trace(00100000)
trace(01000000)
trace("--------")
trace(Number("00000001"))
trace(Number("00000010"))
trace(Number("00000100"))
trace(Number("00001000"))
trace(Number("00010000"))
trace(Number("00100000"))
trace(Number("01000000"))
/*
Resultado em AS2:
1
8
64
512
4096
32768
262144
--------
1
8
64
512
4096
32768
262144

Em AS3:
1
10
100
1000
10000
100000
1000000
——–
1
10
100
1000
10000
100000
1000000
*/

Outro Exemplo, desta vez com erro:

// Executa
trace(08);
/*
Resposta em AS2: Erro de sintaxe
Resposta em AS3: 8
*/

Isso pode parecer não ser nada, mas em alguma aplicação que trabalha com numeros formatados com umas 10 casas, e tudo tem 0 antes do valor real, isso altera o valor de tudo :P

EDITADO :

Pelo que eu vi isso está documentado, mas não muito bem, ta dentro de um outro artigo no help do flash, apenas como um exemplo.

mas do numero em si com 0 antes ser octal tudo bem, mas o Number(“numero em string”) deveria retornar decimal :P ainda mais que normalmente a entrada de dados depende do usuario (uma coisa a mais para filtrar).



JSFL para ajustar posiçoes dos itens como campos de texto com pixelFonts(pixel Snapping)
11 Julho, 2008, 10:28 pm
Arquivado em: AS 2.0, AS 3.0, Flash geral, JSFL | Tags: , , , , , ,

Olá, primeiramente quero dizer que não tenho postado muita coisa no blog devido a falta de tempo, e tambem de conteudo(até se alguem tiver alguma sugestão manda por email ou coloca aqui como comentario que eu farei o possivel para falar sobre o assunto).

Hoje a tarde depois de arrumar as posiçoes dezenas de movieClips para que não distorcessem eu pensei “por que eu estou fazendo isso? o flash poderia fazer sozinho”, então criei este JSFL que faz exatamente isto (link)

OBS: se o link não funcionar copie ele e cole no navegador;

Como utilizar: é só executar.

ele pega todos os itens(movieClip,Button,Graphic,TextField..)  da timeline atual e ajusta  as posiçoes dos mesmos.

para aplicar isto dentro de um movieClip , abra-o e execute o comando dentro do movie;

pra quem não conseguiu abrir o link aqui vai o codigo:

// Pixel Snapping [alk].jsfl

/*
Script criado por Armando Leopoldo Keller(http://alkeller.wordpress.com)
para instalar: só colar este arquivo em C:\Users\nome_do_usuario\AppData\Local\Adobe\Flash CS3\en\Configuration\Commands
obs: este é o caminho no windows vista
*/
for( var i = 0; i < fl.getDocumentDOM().getTimeline().layers.length; i++)
{
var layerAtual = fl.getDocumentDOM().getTimeline().layers[i];
for(var j = 0 ; j < layerAtual.frames.length ; j++)
{
var frameAtual = layerAtual.frames[j];
for(var k = 0 ; k < frameAtual.elements.length ; k++)
{
var elementoAtual = frameAtual.elements[k];
elementoAtual.x = parseInt(elementoAtual.x);
elementoAtual.y = parseInt(elementoAtual.y);
}
}
}

Qualquer coisa é só comentar, ou mandar email que eu respondo.



AMFPHPconn Classe de conexão com AMFPHP
28 Dezembro, 2007, 2:04 pm
Arquivado em: AMFPHP, AS 2.0 | Tags: , , , , , ,

Oi, AMFPHPconn é uma classe desenvolvida por mim para facilitar a conexão com o AMFPHP segue abaixo a classe:
// AMFPHPconn.as
import mx.remoting.Service;
import mx.services.Log;
class AMFPHPconn {
public var gateway:String;
public var log:Log;
public var servico:String;
public var Servico:Service;
public function AMFPHPconn (_gateway, _servico, _log) {
this.gateway = _gateway;
this.servico = _servico;
this.log = _log;
this.Servico = new Service(this.gateway, this.log, this.servico, null, null);
}
}

Para utilizar essa classe é só colocar o arquivo AMFPHPconn.as na mesma pasta do SWF.

um exemplo de como utilizar:

// importador.as
import mx.remoting.Service;
import mx.services.Log;
import mx.rpc.RelayResponder;
import mx.rpc.FaultEvent;
import mx.rpc.ResultEvent;
import mx.remoting.PendingCall;
import mx.remoting.RecordSet;

// no flash:

#include "importador.as"
var conn:AMFPHPconn = new AMFPHPconn("http://localhost/amfphp/gateway.php","Login");
// é opcional colocar log
//com log ficaria:
//var conn:AMFPHPconn = new AMFPHPconn("http://localhost/amfphp/gateway.php","Login",new log());
var pc_loga:PendingCall = conn.Servico.loga("armando","keller");
pc_loga.responder = new RelayResponder(this,"rpc_loga",null);
function rpc_loga(re:ResultEvent){
trace("retornou "+re.result);
}

(mais…)