Arquivo Dezembro de 2007


Boas festas a todos! Ninguém excluídos

Feliz Natal e Feliz 2008

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

Lorenzo e Sabrina

Leia mais ...

Carta ao Papai Adobe: Flash CS3, alguns bugs e defeitos

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.

  • Editor L 'ActionScript, por exemplo, é lento e espasmódico! Considere-se, Adobe querida Santa, que o meu carro tem 8Gbyte de RAM e um processador Intel quad core duo!
  • Durante a formatação automática, de linhas de código como este abaixo, estão "mal entendido" e reformatado o mal:
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
( MouseEvent . CLICK , _onClick ) ; conn_btn addEventListener (. MouseEvent CLICK, _onClick.);
  • O boleto janelas, pelo menos na implementação do Windows Vista, ocasionalmente desaparecendo sob outros painéis ... A janela da Ajuda, a orientação em suma, cria um problema quando você tenta um projeto. O último, na verdade, desaparece atrás dos outros painéis ... mistério! No entanto, este defeito, tal como outros, nem sempre é reprodutível.
  • Os componentes têm um comportamento estranho: às vezes são mostrados, em tempo de design, como retângulos brancos ... mas continuam a operar em tempo de execução!
    Componentes em falta
  • O 'anterprima scale9Grid, como indicado na documentação nova e ser capaz de mostrar os objetos corretamente redimensionadas em tempo de design, continua a ser atormentado pelos problemas da versão anterior! Muito ruim!
    Scale9Grid

No entanto, no Natal tudo é melhor ... por isso, querido Papai Adobe, nós olhamos para a frente atualizações futuras.

Leia mais ...

FreeTextBox: Javascript HTML WYSIWYG editor para ASP.NET

imagem 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!

imagem

Leia mais ...

Flash CS3: O tratamento novo evento

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 ;

Leia mais ...

Flash CS3: TextField.appendText ()

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 por newText no final do campo de texto. Este método é mais eficiente do que uma atribuição de adição ( += ) propriedades aplicados a um text (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
. getTimer ; flash.utils importação getTimer.;

uint = 0 ; var i: uint = 0;
int = getTimer ( ) ; var s: int = getTimer ();
i ; i < 10000 ; i ++ ) { para (i, i <10000; i + +) {
+ = "Ciao" ; . text_txt texto + = "Olá";
}
int = getTimer ( ) ; var f: int = getTimer ();
f - s ) ; trace (f - s);

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
. getTimer ; flash.utils importação getTimer.;

uint = 0 ; var i: uint = 0;
int = getTimer ( ) ; var s: int = getTimer ();
i ; i < 10000 ; i ++ ) { for (i, i <10000; i + +) {
( "Ciao" ) ; . text_txt appendText ("Olá");
}
int = getTimer ( ) ; var f: int = getTimer ();
f - s ) ; trace (f - s);

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.

Leia mais ...

Flash CS3: comunicar com um servidor Web

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:

Leia mais ...

Saudação

Commodore 64

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!

Leia mais ...

Servidores de tunelamento e proxy, e não apenas para Ajax

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:

XHR

Leia mais ...

O Adobe.it novo site

Adobe.it

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.

imagem Photoshop

Todas as seções foram redesenhados com o uso original do fundo. De rinavigare absolutamente !

Leia mais ...

Criar um floco de neve em Flash

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.

Floco de neveFloco de neve

Virei-me isso em um símbolo e apliquei dois efeitos na seqüência correta: Bevel e desfoque:

Floco de neveFloco de neve

O resultado foi a seguinte: Floco de neve

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))&gt;0) ? 1 : -1;, si può aggiungere un effetto effetto vento, cioè i fiocchi cadono con una pendenza particolare. _x += ((_getRndRange(-50, 50))&gt;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 ... ;)

Leia mais ...



Pare SOPA