
Este ano é um especial de Natal, pois é o primeiro do pai de duas maravilhosas (e desgastante) gêmeos!


Este ano é um especial de Natal, pois é o primeiro do pai de duas maravilhosas (e desgastante) gêmeos!

Querido Papai Noel Adobe,
apesar de ter já recebido dois patches para Flash CS3 (versão 9.0.2), alguns problemas na sua utilização têm aparecido como em todos os softwares do mundo, especialmente nesta versão de que as mudanças que sofreu muitos.
1 | ( MouseEvent . CLICK , function ( e ) { myfunc ( ) ; } ) ; mybtn addEventListener (. MouseEvent CLICK, function (e) {myfunc ();}.); |
Adicionando chaves onde deveria ser:
1 2 | ( MouseEvent . CLICK , function ( e ) { myfunc ( ) ; } ) ; mybtn addEventListener (. MouseEvent CLICK, function (e) {myfunc ();}.); // < -- chi te l'ha detto?! } / / <- Quem te disse? |
Então é melhor usar a sintaxe:
1 |


No entanto, no Natal tudo é melhor ... por isso, querido Papai Adobe, nós olhamos para a frente atualizações futuras.
FreeTextBox é um editor HTML escrito em JavaScript, para ASP.NET. Esta versão, a 4.0 Beta 1 é compatível com o IE, Mozilla e Firefox em todas as plataformas. Como outros editores (ver: Editor WYSIWYG para a Web ) permite que você defina sua aparência e instrumentos. Embora para ASP.NET, quadro por mim intocado, eu apresentar para a sua agradabilidade. No entanto, o pecado, vem em duas versões: uma livre e uma taxa!
Finalmente com o ActionScript 3.0 não têm mais dois sistemas de gestão diferente de eventos como faziam antes ActionScript 2.0 (ver: Gestão de eventos: semelhanças entre o Flash e Javascript ). O método addEventListener() , onipresente na nova arquitectura permite gerenciar nova e excepcionalmente limpar todos os eventos possíveis, mesmo os pessoais. A nova organização no pacote permite importar os eventos que servimos e tratar a todos igualmente:
1 2 3 4 | / / Eventos . KeyboardEvent ; flash.events de importação. KeyboardEvent ; . MouseEvent ; flash.events de importação. MouseEvent ; . Event ; flash.events de importação. de eventos ; |
Flash CS3 tem tantas inovações, incluindo o "estranho" para especificar a compilar algumas dicas sobre como escrever código. Isso acontece, por exemplo, quando estamos lidando com objetos TextField . Eu tive que adicionar uma string para o fim de um campo TextField com a notação clássica:
1 | + = "Stringa aggiunta" ; . mioTextField_txt texto + = "string acrescentando"; |
Mas isso é ActionScript 3.0, ao terminar o filme, eu senti (Aviso) - ou recomendados:
Aviso: 3551: Anexar texto a um TextField usando + = é muitas vezes mais lento do que usando o método TextField.appendText ().
Cool! Vamos ver o fato de a SINOPSE método appendText() na verdade diz:
) applicata a una proprietà
text(ad esempio<strong>someTextField.text += moreText</strong>), in particolare nel caso di un campo di testo con una quantità di contenuto significativa. Adiciona a cadeia especificado pornewTextno final do campo de texto. Este método é mais eficiente do que uma atribuição de adição (+=) propriedades aplicados a umtext(por exemplo,<strong>someTextField.text += moreText</strong>), em particular no caso de um campo de texto com uma quantidade significativa de conteúdo.
Nós confio? Para verificar a segurança:
1 2 3 4 5 6 7 8 9 |
Tempo: 9360 - na minha máquina, no modo de depuração. Vamos tentar como aconselhado pelo compilador:
1 2 3 4 5 6 7 8 9 |
Time: 8415 ![]()
Nada de grande ... mas é verdade! ). O método appendText() é mais rápido e mais poderoso operador pré-incremento ( += ). Por quê? A razão mais óbvia é a seguinte: o operador ( += ) funciona em qualquer tipo de dados. Além disso, em uma linguagem OO este operador não está estruturado como em C, mas é simplesmente "oggettato". Em C + +, por exemplo, pode substituir (substituir) o operador, como parte da estrutura da língua próprio objecto. Em última análise appendText() é mais rápido porque seu objetivo é "corrigir" a uma corda e, portanto, não fazer muitas perguntas "" nele. O operador ( += ), no entanto, deve funcionar para qualquer tipo de dados e, portanto, não é otimizado para as cordas. Em C, pelo contrário, o operador ( += ) é uma função a um nível baixo e será sempre mais rápido do que uma chamada para um função.
ActionScript 3.0 introduz uma série de formidáveis ferramentas de comunicação, alguns totalmente novos, alguns revisto e melhorado a partir de versões anteriores do ActionScript. Começamos a ver como ele muda a forma como você interage com um servidor Web no caso de uma simples comunicação entre o Flash e uma página PHP com uma resposta XML. Em primeiro lugar, o objeto XML não existe mais! No ActionScript 3.0 novas classes foram introduzidos, alguns dos quais são dedicados a "compatibilidade".
Nota: A classe XML (junto com as classes relacionadas) do ActionScript 2.0 foram renomeadas XMLDocument e se mudou para o pacote flash.xml. Ele está incluído no ActionScript 3.0 para garantir a compatibilidade com versões precedentes.
usando il metodo sendAndLoad() dell'oggetto LoadVars (vedi: Flash: LoadVars e XML per inviare dati in POST ). No ActionScript comunicação 2.0 com um servidor Web foi solucionada com freqüência, explorando a combinação de objetos LoadVars e XML, usando o método sendAndLoad() do objeto LoadVars (ver: Flash: LoadVars e XML para enviar dados em POST ). Agora as coisas estão mudando, mas você se acostumar com novos nomes e objetos. Tal como indicado no manual, na verdade:

Tudo começou a partir daqui ... saudações ao meu primeiro computador pessoal, como foi anunciado no momento em que, apesar de agora é tecnicamente ultrapassada, será sempre insuperável na alma e na memória de muitos!
Devido à sua capacidade de se comunicar com o servidor, o objeto XMLHttpRequest (XHR), utilizado na tecnologia Ajax (sigla para Asynchronous JavaScript e XML, o que deve ser pronunciado "egiacs" Mesmo que os italianos preferem "aiacs"), tem uma trava de segurança que impede a execução de aplicações fora do domínio em que opera. Essa proteção é necessária para evitar Javascript Injection (técnicas de "injeção" código extremamente perigoso, a fim de quebrar o sistema) de vários tipos, com o objectivo último de "break" no sistema.
Agora este limite é levado em consideração séria e você está pensando, de alguma forma, para resolvê-lo - objeto XMLHttpRequest diretamente - sem comprometer a segurança (veja também: terceira proposta de cross-site extensões para XMLHttpRequest ).
No entanto, a situação actual é como se segue:
O site Adobe.it se renova, é de apagar o híbrido Adobe Macromedia-feita imediatamente após a aquisição da empresa de software do Flash! Ficheiro de paginação original (na extremidade esquerda), uso de DHTML e Flash, é claro.
| | |
Todas as seções foram redesenhados com o uso original do fundo. De rinavigare absolutamente !
Alguns leitores têm me perguntado como foi criado o floco de neve, tão realista, o Natal Widget . Aqueles que fizeram o download da fonte que você provavelmente já sabe ... mas foi muito simples. Primeiro, eu selecionei a ferramenta Pincel em Flash e desenhei um ponto.
![]() | ![]() |
Virei-me isso em um símbolo e apliquei dois efeitos na seqüência correta: Bevel e desfoque:
![]() | ![]() |
O resultado foi a seguinte: 
Neste MovieClip (símbolo) associado a uma classe simples que eu CNeve , que realmente cria a inteligência do grampo em si:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | MovieClip { CNeve classe estende MovieClip { _interval ; _interval var privado; _maxy : Number ; _maxy private var: Número ; / / CNeve function () { this , "_move" , 25 ) ; _interval setInterval = (this, "_move", 25); round ( ( Stage . height + 256 ) / 2 ) + _getRndRange ( - 20 , - 7 ) ; _maxy = Math round ((. Stage altura + 256) / 2.) + _getRndRange (- 20, - 7); } / / _getRndRange ( min : Number , max : Number ) : Number { _getRndRange função privada (min: Número , max: Número ): Número { Number = Math . floor ( Math . random ( ) * ( max - min + 1 ) ) + min ; randomNum var: Número de = Matemática . chão ( Math aleatório () * (max - min + 1).) + min; randomNum retorno; } / / _move ( ) { função privada _move () { 1 , 5 ) ; _y + = _getRndRange (1, 5); _getRndRange ( - 50 , 50 ) ) > 0 ) ? 1 : - 1 ; _x + = ((_getRndRange (- 50, 50))> 0) 1: -? 1; 1 , 5 ) ; _rotation + = _getRndRange (1, 5); _y > _maxy ) { if (_y> _maxy) { _interval ) ; clearInterval (_interval); } ; updateAfterEvent (); } } |
O método _move() contém a inteligência do grampo, que é a função de uma queda, extremamente simples. Variando a função aleatória _x += ((_getRndRange(-50, 50))>0) ? 1 : -1;, si può aggiungere un effetto effetto vento, cioè i fiocchi cadono con una pendenza particolare. _x += ((_getRndRange(-50, 50))>0) ? 1 : -1;, por exemplo, inserir uma _getRndRange(-550, 50), você pode adicionar um efeito de vento efeito, ou seja, os flocos cair, com uma inclinação particular. Em particular, ele pode enviar os flocos para a esquerda e direita utilizando um código deste tipo:
1 | _getRndRange ( _getRndRange ( - 350 , - 50 ) , _getRndRange ( 50 , 350 ) ) ) > 0 ) ? 1 : - 1 ; _x + = ((_getRndRange _getRndRange ((- 350, - 50), _getRndRange (50, 350)))> 0) 1: - 1;? |
A rotação ( _rotation += _getRndRange(1, 5); ), em seguida, dá um maior detalhe para o grampo em si.
e uno scale randomico, per avere fiocchi di neve di diverse dimensioni. Quando eu crio um arco (ver função creaFiocco() abaixo) Eu também adicionei uma alpha=90 e uma escada randomico, ter flocos de neve de diferentes tamanhos.
1 2 3 4 5 6 7 8 9 10 11 12 | / / Cria grampo creaFiocco function () { 20 , 100 ) ; var s = randrange (20, 100); = randRange ( - Math . floor ( ( Stage . width - 320 ) / 2 ) , Math . round ( ( Stage . width + 320 ) / 2 ) ) ; var x = randrange (- Math chão ((. Stage 320) / 2), - width. Math round ((. Stage largura + 320) / 2).); = - Math . floor ( ( ( Stage . height - 256 ) / 2 ) ) - 10 ; var = y - Matemática . chão ((( Stage altura - 256) / 2).) - 10; "neve" , "neve_" + index , index , { _x : x , _y : y , _xscale : s , _yscale : s , _alpha : 90 } ) ; . c_mc attachMovie ("neve", "neve_" index +, índice, {_x: x, _y: y, _xscale: s, _yscale: s, _alpha: 90}); index + +; index > 1000 ) { if (index> 1000) { ; index = 1; , 2 ) ; c_mc createEmptyMovieClip = ("c_mc", 2); } } |
E isso é tudo ...
Esqueci-me ... Cumprimentos a todos e boas festas ... ![]()
Últimos Comentários
Gabriel : Olá, interessante artigo. Eu preciso de algo semelhante, mas com algumas mudanças. Em um ...
sebastian : grande parcela - muito obrigado!
Assunto : muito útil mesmo! Eu tentei isso e é exatamente o que eu precisava. Agora eu quero saber como faço para obter ...
vik : Com a ajuda estratégica!
Pimenta : Olá, eu não sei se você é um dos criadores do plugin WP Bannerize. Tenho visto um ...