Dois pesquisadores da Adobe , Dr. Ariel Shamir e Shai Dr. Avidan, desenvolveram um algoritmo exclusivo para o redimensionamento inteligente de imagens. Particularmente impressionante (veja vídeo abaixo) é a capacidade de esconder e mudar completamente uma imagem, graças a um "resize" extremamente sofisticado e seletivo. Em outras palavras, esta técnica permite-lhe redimensionar uma imagem de uma forma não-linear. Algumas áreas da imagem, então, são mantidos em escala proporcionando um efeito muito curioso.
Arquivo agosto 2007
Ridimesionamento dinâmica de imagem inteligente
Aptana IDE atualização: 9 Marcos
Ele está disponível para atualizar o IDE Aptana , o ambiente de desenvolvimento Web que suporta o Adobe AIR e Apple iPhone . Entre as novas melhorias na seção de PHP por meio da atualização do Código Assist funções em ambos os parâmetros. Também melhorou a "cor" do código. Adicionado suporte para as últimas estruturas Ajax incluindo prototype.js e jQuery . Também melhorou manipulação de Javascript.

Para a lista completa dos novos recursos clique aqui .
Reflex 1.1: efeito de reflexão add para imagens
Nova versão 1.1 da biblioteca Javascript SLR com o qual você pode adicionar efeitos de reflexão de imagens. A vantagem de usar esta técnica "discreto" é a velocidade com a qual você pode adicionar esses efeitos sem ter que passar mais tempo na criação da imagem de reflexão.
Esta versão foi testado no Mozilla Firefox 1.5 +, Opera 9 +, Safari e IE6. O tamanho mínimo para uma imagem é de 32 × 32. Uma vez que libreiria incluindo:
1 |
Basta digitar class = "reflexo" nas imagens em que deseja aplicar o efeito. Ao explorar as propriedades da classe, você pode manipular os efeitos da reflexão, o que torna esta biblioteca muito especial. Você pode, de fato, também distorcer a imagem, adicionando efeitos 3D. Por exemplo, aqui é como adicionar vários recursos para rilfessione:
1 | "reflex idistance16 iborder2 iheight24" width = "200" alt = "" src = "images/example.jpg" / > < img class = "SLR idistance16 iborder2 iheight24" width = "200" alt = "" src = "images / Example" /> |
Para mais detalhes consulte a documentação oficial .
No mesmo site você pode baixar muitos outros efeitos como a aresta de canto, outros brilhantes e muitos, todos dedicados às imagens.
Proto.Menu: Os menus de contexto em JavaScript com Prototype 1.6.0
Proto.Menu é uma solução simples e leve (2kb) que o JavaScript para adicionar funcionalidade para os menus de contexto páginas HMTL. Esta biblioteca utiliza o recente lançamento de Prototype 1.6.0_rc0 . Suas principais características são:
- Leveza: ~ 2 KB (~ 1,5 MB versão)
- Discreto: não intrusiva
- Suporta todos os browsers
- Personalizável em termos de estilo folhas
- Extremamente rápido
Para a sua utilização é necessário:
- prototype.js 1.6.0_rc0
- Comprovado nos navegadores: Firefox 1.5 +, Internet Explorer 6 +, Safari 3 +, Opera 9 +, Netscape Navigator 9 +
Para usá-lo basta incluir a biblioteca e proto.menu protótipo:
Baixe Proto.Menu.js (ou comprimido versão )
1 2 |
Você pode incluir seu próprio arquivo CSS
1 | "stylesheet" href = "Proto.Menu.css" type = "text/css" media = "screen" / > < elo rel = "stylesheet" href = "Proto.Menu.css" type = "text / css" media = "screen" /> |
E seu uso é muito simples, você cria uma matriz com ligações para mostrar:
1 2 3 4 5 6 7 8 9 10 11 | [ var myLinks = [ : 'Back' , callback : function ( ) { alert ( 'back function called' ) } } , {Nome: 'Voltar', callback: function () {alert ('Chamado de volta a função')}}, : 'Forward' , callback : function ( ) { alert ( 'Forward function called' ) } } , {Nome: 'Forward', callback: function () {alert ('Encaminhar função chamada')}}, true } , {Separator: true} : 'Reload' , callback : function ( ) { alert ( 'Reload function called' ) } } , {Nome: 'Reload', callback: function () {alert ('Atualizar função chamada')}}, : 'Disabled option' , disabled : true } , {Nome: 'opção Disabled ", deficientes: true} : 'Toggle previous option' , callback : function ( ) { {Nome: 'opção Alternar anterior', callback: function () { = oLinks. find ( function ( l ) { return l. name == 'Disabled option' } ) ; var item = oLinks encontrar (function (s) {return l nome == 'opção Disabled ".}).; = item . disabled == false ? true : false ; .. item desativado item = deficientes == false true: false; }} ] |
Menus são ativadas, passando a referência à matriz criada:
1 2 3 4 5 6 7 | "text/javascript" > < roteiro type = "text / javascript"> novo Proto.Menu ({ selector: '. contextmenu' / / menu de contexto será exibido Quando o elemento com o nome de classe de "contextmenu" for clicado className: 'myContextMenu', / / esta é uma classe que será anexado ao recipiente menu (utilizado para o estilo css) MenuItems: myLinks / / array de itens de menu }) </ script de > |
Note-se a propriedade selector indica que o elemento relacionado com o menu de contexto clique para isso.
Clique com o botão direito em AS3: menus de contexto personalizados
Remover o menu de contexto, ou simplesmente respondendo a "clique direito" do mouse é a possibilidade de o Flash Player diretamente do código do ActionScript não é permitido, mesmo em CS3. Este recurso seria atraente para ambos os jogos para aplicações RIA. Paulius Uza já propôs uma solução para o ActionScript 3 (AS3) que trabalha em conjunto com Javascript. Este "remendo" ainda está em fase de testes, porque isso depende do seu navegador e Flash Player instalado. Você pode ajudar a testar a aplicação demo aqui .
Foi também um aperitivo "projeto" no Google Code :
A idéia é bastante simples:
1-Use Javascript na página do contêiner HTML para desativar botão direito do mouse em cima do SWF.
2 - Capturar o evento e passá-lo para uma função que se comunica com o Flash através da interface externa
3-Em Actionscript a função chamada de Javascript faz tudo o que você precisa para exibir seu próprio costume menu de contexto.
Prototype release candidate 1.6.0
Você acabou de ter lançado o release candidate do Prototype 1.6.0 com as atualizações mais recentes para a API do sistema inteiro. è stato migliorato e ora fornisce il contesto dell'oggetto che ha rilasciato l'evento. Em particular, o método observe objecto Event foi melhorado e proporciona agora o objecto de fundo que emitiu o evento. Este comportamento "correto" pode ser substituído, no entanto. Isto significa que, por padrão, this se refere ao objeto que emitiu o evento. Ele também introduziu a possibilidade de criar eventos personalizados. Outras melhorias incluem a Function.prototype, as funções do DOM, Ajax, funções, classes e muito mais. Para obter uma lista completa, veja o ChangeLog.
Baixar
- Baixar Prototype 1.6.0_rc0
- Obtenha ajuda Prototype na lista de discussão trilhos de spinoffs ou protótipo # canal de IRC
- Interagir com o Core Team na lista de discussão protótipo-core
- Enviar relatórios de erros para o Rails Trac
ActionScript: quadros _parent e controle
Quando o "gatilho", um evento de um contexto de objeto, que é o objeto pai que representa o escopo de todas as variáveis, torna-se o próprio objeto. Este aspecto, característica da programação orientada a objeto, pode ser desorientador causando erros e bugs no código. Além disso, em determinadas situações, pode impedir o acesso a algumas variáveis "antes" disponível.
Primeiro de tudo, vemos uma característica do ActionScript relacionados ao gerenciamento de contexto que, se for incluída, vai nos salvar algumas horas de testes desnecessários. Quando temos a ver com gráficos ou simplesmente MovieClips aninhados uns dentro dos outros, a propriedade _parent , resolução de problemas de contexto. Por exemplo, se o MovieClip padre_mc contiente figlio_mc outro MovieClip e usar o seguinte código:
1 2 3 4 5 | / / Código dentro padre_mc ( ) { figlio_mc. onRelease = function () { this ) ; // figlio_mc trace (this); / / figlio_mc this . _parent ) ; // padre_mc trace (this. _parent); / / padre_mc } |
Risalisre o "pai", então, é claro e imediato.
Com classes puras, o código-somente, extensão ou da propriedade MovieClip _parent não está disponível e pode complicar as coisas! Immaginiiamo ter uma classe MyClass :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | MovieClip { Classe MyClass estende MovieClip { MyClass function () { / / Construtor } / / myMethod function () { this ) ; // myClass trace (this); / myClass / ; var num = 5; ; var cp = this; .... [ un oggetto ] ; var myObject = new [objeto]; ( ) { myObject onLoad. = function () { this ) ; // myObject trace (this); / / myObject cp ) ; // myClass trace (cp); / myClass / } } |
, ovvero il puntatore alla classe MyClass . O contexto de MyMethod() é, evidentemente, this , que é o ponteiro para a classe MyClass . . A variável num , por exemplo, tem um ciclo de vida fechado dentro do método MyMethod() . É, portanto, apenas visíveis dentro do método e será destruído na saída. . Mesma coisa para a variável myObject que inicializa um evento, no entanto, neste caso onLoad . lasciandoci, apparentemente, senza il puntatore alla classe madre myClass . Quando acionado onLoad() contexto vai se tornar myObject deixando, aparentemente, sem o ponteiro para a classe pai myClass . , ha lo stesso contesto della variabile myObject ! Um olhar mais atento ao código podemos ver que a variável cp , definido no método myMethod() , tem o mesmo contexto da variável myObject ! dell'oggetto myObject in quanto condivide con esso lo stesso contesto. Na verdade, a variável cp (ponteiro de classe) será visível dentro do método onLoad objeto myObject como ele compartilha o mesmo contexto. ha necessità di “vivere” più al lungo del previsto visto che ha “allocato” un evento (di tutto questo se ne occupa Flash a nostra “insaputa”). Na verdade o método myMethod() não apenas porque o objeto é desalocada myObject tem a necessidade de "viver" em cima da. mais que o esperado porque tem "atribuído" um evento (tudo isso está lidando com o Flash no nosso "desconhecido")
Conselho
Para os eventos associados com botões ou MovieClips um bom hábito seria usar o formulário:
1 2 3 4 5 | my_mc onRelease = myOnRelease.; myOnRelease função () { this ) ; // _root trace (this); / / _root "Click me" ) ; trace ("Clique em mim"); } |
No lugar do mais rápida e imediata:
1 2 3 4 | ( ) { my_mc. onRelease = function () { this ) ; // my_mc trace (this); / / my_mc "Click me" ) ; trace ("Clique em mim"); } |
A vantagem de utilizar uma função externa é ter um contexto neutro ea possibilidade de alcançar a função independente da MovieClip que controla. No segundo caso, por exemplo, se você quiser forçar a execução do código vinculado ao "click" do MovieClip que eu deveria usar um código deste tipo:
1 | ; . my_mc onRelease (); |
Na prática, eu chamo o evento como se fosse um método. No entanto, tenho - de fato - para que a MovieClip my_mc . De qualquer maneira, no entanto, pode executar o código diretamente chamando myOnRelease() . Obviamente, como mostrado nos exemplos, olho para contextos. . No primeiro caso, o contexto de myOnRelease() é a mãe do objeto onde está escrito, por exemplo, _root . No segundo caso, em vez disso, o contexto é sempre o MovieClip my_mc !
Forçando um contexto diferente
Concluímos com alguns truques úteis em muitas circunstâncias. in grado di forzare un contesto di un metodo o funzione. O Flash oferece uma biblioteca, mx.utils com um objeto Delegate pode forçar um contexto de um método ou função. Seu uso é muito simples:
1 2 3 4 5 6 7 8 | utils . Delegate ; .. importação mx utils Delegado; / / // puntatore ad un MovieClip my_mc var, / / ponteiro para um MovieClip // un bottone my_btn var, / / um botão myFunction function () { this ) ; trace (this); } create ( my_mc , myFunction ) ; my_btn onPress = Delegado criado (my_mc, myFunction)..; |
O evento onPress my_btn os botão aponta para uma função de "novo" criado precisamente com o my_mc contexto. Quando você clicar no botão my_btn, o código executado em myFunction() terá como my_mc contexto!






Últimos Comentários
kOoLiNuS : @ Giovambattista Fazioli: obrigado! mais do que dispostos!
Giovambattista Fazioli : @ kOoLiNuS: Calmo, provavelmente você pode antecipar que WPX Cleanfix será livre, e ...
kOoLiNuS : @ kOoLiNuS: a falta
e uma 
kOoLiNuS : @ Giovambattista Fazioli: Assinei, mas quando eu era o meu uso amador da plataforma ...
Giovambattista Fazioli : @ kOoLiNuS: Sim, este é um problema conhecido. Ocorre quando as tabelas em questão são ...