Arquivo agosto 2007

Ridimesionamento dinâmica de imagem inteligente

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.

Leia mais ...

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.

imagem

Para a lista completa dos novos recursos clique aqui .

Leia mais ...

Reflex 1.1: efeito de reflexão add para imagens

imagem 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
"text/javascript" src = "reflex.js" >< / script > < roteiro type = "text / javascript" src = "reflex.js"> </ script de >

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.

Leia mais ...

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
"text/javascript" src = "js/prototype.js" >< / script > < roteiro type = "text / javascript" src = "js / prototype.js"> </ script de >
"text/javascript" src = "js/Proto.Menu.js" >< / script > < roteiro type = "text / javascript" src = "js / Proto.Menu.js"> </ script de >

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.

Leia mais ...

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 Uzapropô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.

Leia mais ...

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

Leia mais ...

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!

Leia mais ...


Pare SOPA