Posted: February 1st, 2009 | Author: andre | Filed under: Flash | 6 Comments »
O papervision3d é uma engine open source para o Flash, é um projeto mantido por um pequeno grupo de desenvolvedores e está disponível em http://code.google.com/p/papervision3d/ .
Na página do projeto encontra-se respostas para algumas perguntas frequentes e também um roteiro para instalação e utilização do papervision no flash, e é isto o que será tratado neste post.
Baixar a ultima versão do papervision e configurar o Flash
No roteiro, a versão do papervision é baixada via SVN, então vamos fazer o mesmo, assim teremos sempre a versão atualizada do papervision. Primeiramente é preciso baixar e instalar um cliente SVN, utilizaremos o mesmo: “tortoise for windows” ( http://tortoisesvn.tigris.org/ ).
Após instalado, provavelmente será preciso reiniciar o computador. Ao retornar ao sistema você perceberá que o cliente SVN se integra com o Explorer, então para usá-lo siga estes passos.
- Crie um novo diretório/pasta(ex:”snv”) e clique com o botão direito do mouse e escolha “svn checkout”.

- Na janela que irá aparecer cole este endereço: http://papervision3d.googlecode.com/svn/trunk/

- Ao clicar em “OK” o tortoise irá baixar o papervision para o seu computador.
- Depois de baixar o papervision é necessário configurar o Flash.
- Abra o Flash, vá em “Edit>Preferences>Actionscript” e clique em “Actionscript 3.0 settings”

- Clique na pasta indicada na imagem acima e navegue até a pasta onde você baixou o papervision (vide 1) e siga encontre o diretório “as3/trunk/src” e clique em OK.
- Pronto, já temos o papervision adicionado ao Flash, agora vamos testar: Abra um novo documento no flash.
- No Flash com o novo documento aberto, olhe no painel “Preferences” do nosso documento e no campo “Class” (Flash CS4) digite “Cubo” sem aspas, este será o nome da classe que utilizaremos como exemplo para o teste.

- Agora salve o documento onde preferir.
- Em seguida crie um novo documento, dessa vez um novo arquivo actionscript (new Actionscript File) e salve-o com o nome “Cubo” no mesmo lugar onde foi salvo o documento flash que criamos anteriormente.
- Agora volte ao documento flash e clique no lápis ao lado da caixa de texto onde adicionamos a nome “Cubo” no item 8. O arquivo “Cubo.as” deverá ser aberto.
- Com o “Cubo.as” aberto cole este código e salve-o.
- Salve o flash e o script e execute o movie(crtl+Enter), tudo deve estar funcionando, bom agora é só ir experimentando outros exemplos. Have fun! =)
Se você seguiu os passos corretamente, verá esta animação: Paper Vision Cube (clique com o mouse e arraste para mover o cubo).
Referências:
http://code.google.com/p/papervision3d/wiki/Getting_Started_FAQ
http://pv3d.org/2009/01/15/dragging-an-object-to-rotate/
Posted: September 26th, 2008 | Author: andre | Filed under: Geral | No Comments »
Recentemente utilizei o lightbox (nunca o tinha utilizado em nenhum projeto), logicamente me deparei com o problema do “tamanho” do javascript. Anteriormente já tinha em mãos modificações comprimidas do Scriptaculous e do Prototype, mas os 20KB do lightbox não era nada agradável.
A solução então era encontrar uma versão comprimida do lightbox, sem sucesso recorri à alguns compressores online, mas depois de compactado o lightbox não funcionava. Então depois de algumas tentivas e analisando o codigo do lightbox cheguei a uma compressão funcional.
Com a compressão o arquivo passou de 20KB para miseros 8KB, grande melhora não?
Compressed Lightbox 2.04
Posted: August 29th, 2008 | Author: andre | Filed under: Design, Geral | No Comments »
Para quem não conhece, Duct tape wallet são aquelas carteiras feitas com o famoso Silver Tape.
Existe um empresa hoje especializada em fazer produtos com este tipo de fita, é a Ducti. Eu ainda não tive a chance de adquirir uma carteira dessas para conferir a qualidade do produto, mas fica claro o visual moderno que uma carteira dessa tem.

Partindo do fato de que esta carteira teve ínicio no “fundo de casa” de alguem por ae, é lógico que HJ ainda é comum ver pessoas que ainda fazem suas carteiras dessa maneira. Um dos pontos legais de se fazer uma carteira dessa manualmente é facilidade de se poder “customizar” sua carteira, já que o processo é bem simples (Cortar, colar etc..)
Pensando nisso resolvi criar minha propria carteira:

Olha a bagunça! lol =D

Mas olha que legal que ficou!!
Eu recomendo comprar fitas de qualidade, a fita que utilizei dependendo do nivel de calor (sol) ela começa a desprender cola, e vira uma bagunça se vc estiver sentado com ela em seu bolso.
Posted: August 29th, 2008 | Author: andre | Filed under: Geral | No Comments »
Procurando por um modo de conseguir fazer upload de arquivos de modo fácil, me deparei com este manager super prático.
Ajaxfile manager!

Muito simples de configurar e usar, e vc pode inclui-lo para trabalhar junto com o TinyMCE ou trabalhando em modo standalone, realmente quebra um galho quando é necessário gerenciar os arquivos que você tem que enviar para sua página ou blog.
Observe que para q integração com o edito tinymce você precisa alterar o path da imagen ao inseri-la no editor.
Posted: May 19th, 2008 | Author: andre | Filed under: CakePHP | No Comments »
Depois de procurar por muito tempo como fazer com que o cake utilizasse varias databases, consegui encontrar alguma informação mas nada que fosse oque eu estva procurando, então resolvi modificar o database.php pra poder usar um DB onde as informaões estariam guardadas em um banco.
o Caso:
Existe um tabela no banco onde se econtram informações sobre outro banco de dados, como fazer o cake utilizar essas informações e conectar a esse banco dinamicamente?
Solução:
isso soa mais como um hack do que uma solução, mas o que fiz foi fazer com que o database.php se conectasse primeiro ao banco principal e resgatasse as informações do banco secundário e ao mesmo tempo atribuir esses valores a variável do segundo banco.
class DATABASE_CONFIG
{
var $default = array('driver' => 'mysql',
'persistent' => false,
'connect' => 'mysql_connect',
'host' => 'localhost',
'login' => 'user',
'password' => 'pass',
'database' => 'pg_main',
'prefix' => '');
var $panel = array('driver' => 'mysql',
'persistent' => false,
'connect' => 'mysql_connect',
'host' => '',
'login' => '',
'password' => '',
'database' => 'pg_website',
'prefix' => '');
Criei além da conexão default uma conexão $panel em branco. Então dentro da classe database criei o metodo construtor para resgatar os valores do banco default.
function DATABASE_CONFIG() {
$domain = $_SERVER['HTTP_HOST'];
//remove any www.
$domain = str_replace('www.', '', $domain);
$domain = str_replace('.localhost', '', $domain);
//$domain = 'pgwebsite';
//connect to the default server and get the info about the cliente database
$link = mysql_connect($this->default['host'], $this->default['login'], $this->default['password']);
if (!$link) {
die("Erro na conexao");
} elseif (!mysql_select_db($this->default['database'], $link)) {
die("Erro na conexao");
}
echo mysql_error();
if (($result = mysql_query('select * from websites',$link))) {
$someone = mysql_fetch_assoc($result);
}
//set the database array for the panel conector
$this->panel['host'] = $someone['dburl'];
$this->panel['login'] = $someone['dbuser'];
$this->panel['password'] = $someone['dbsenha'];
mysql_close($link);
}
Nota-se que é um metodo simples, mas realmente é bastante funcional qdo vc trata de varias conexões, neste exemplo a variável $user era setada por meio de leitura da url em um alias, ex. meusite.dominio.com, sendo assim resgatando as informações do usuário “meusite” no banco $default.
Depois é só utilizar $useDbConfig nos seus models para usar o banco $panel:
<code><?php class Model extends AppModel {
var $name = 'Model';var $useDbConfig = "panel";
}
?></code>
O Principal motivo de utilizar este metodo é que se vc setar o banco durante o runtime do cake ele não é utilizavel via $useDbConfig no model.