Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

RedLine

AS1 > AS2

Recommended Posts

Eu vi essa pergunta outro dia dentro de outro tópico mas não vi a resposta e perdi o tópico. Sem ser na unha, tem como alterar AS1 para AS2? Meu problema é identificar a relação entre um comando e outro. Estou com uma galeria aqui que o cara usou um tal de Math.isEven. Nunca vi essa paradinha antes. Se troco por Math.max, por exemplo, a merreca para de funcionar.

Existe algum "decompiler" ou qqer coisa assim que ajude a alterar esses dados de águas passadas? http://forum.imasters.com.br/public/style_emoticons/default/cry.gif

 

 

Já que ninguem respondeu, vou colocar de outra maneira:

 

Eu posso usar AS1 em um filme principal AS 2?

 

Eu sou o nro 2 daqui:P

Compartilhar este post


Link para o post
Compartilhar em outros sites

A mudança de AS2 para AS1 não foi tão radical ao ponto de alterar todas as aplicações, a menos que você queira transformá-las em aplicações OO.Math.isEven provavelmente é um evento criado pelo sujeito, pois ele não existe no Flash. Aliás, deve ser algo como Math2.isEven porque a classe Math é intrínseca.A diferença do AS1 para o AS2 é simples. Um é baseado em protótipos e o outro em classes. Mas isso não impede que você use protótipos em uma aplicação que esteja usando AS2, isso não dá nenhum erro.E não, não existe um programa que converta AS1 em AS2, aliás, todo o código AS2 escrito no Flash 8, ao ser compilado é convertido para AS1.No AS3 sim, a compilação não irá converter a linguagem, inclusive a tipagem estrita dará ganho de performance à aplicação, entre outras melhorias.Quer entender o que é AS2? Dá uma olhadinha no Help, de leve mesmo.Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tsc tsc stc, menino feio:

Quer entender o que é AS2? Dá uma olhadinha no Help, de leve mesmo.

Eu não disse em momento algum que não entendia AS2. Só não sou tão velhote em flash a ponto de saber AS1. E não: o cara escreveu Math.isEven, não Math2.Muita calma nessa hora...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tu tem o link onde eu possa ver o método Math.isEven? Gostaria de dar uma olhada...E desculpe, eu achei que você não entendia AS2 por causa dessa pergunta:

Eu posso usar AS1 em um filme principal AS 2?

Devo ter entendido mal, menino bonito. :) Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Link eu não tenho, mas te passo este pedaço de AS. Pra ajudar é alemão. Se não entender me avisa que traduzo.

if(meineAuswahl_string.indexOf(gewaehlt) == -1){		//no -> go		meineAuswahl_array.push(bilderordner+picturepath+"/"+bild); //array zufuegen		verlauf_mc.tmp_mc.attachMovie("polaroid_mc", bild, tiefe ,{pic_txt: bild, shooting: picturepath}); //platzieren		verlauf_mc.tmp_mc[bild].ladejpg(bild); //laden			meinVerlauf_array.push(bilderordner+picturepath+"/"+bild);		indexMeineAuswahl = meinVerlauf_array.length-1;		//schicke den pfad zum bilderordner mit		verlauf_mc.tmp_mc[bild].selectPolaroidVerlauf(bild, bilderordner+picturepath+"/");		verlauf_mc.tmp_mc[bild]._xscale = 70; //groesse		verlauf_mc.tmp_mc[bild]._yscale = 70;		//koords 2spaltig (anhand meineAuswahl_array ermitteln)		if ([b]Math.isEven[/b](meineAuswahl_array.length)){ 			//gerade			verlauf_mc.tmp_mc[bild]._x = 72;			verlauf_mc.tmp_mc[bild]._y = (Math.ceil(meineAuswahl_array.length/2)*60)-60;		}else{			//ungerade			verlauf_mc.tmp_mc[bild]._x = 4;			verlauf_mc.tmp_mc[bild]._y = (Math.ceil(meineAuswahl_array.length/2)*60)-60;		}		verlauf_mc.refreshPane();			}}

Isso aparece de quando em vez no script.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Trata-se de um protótipo:

Math.isEven = function(number) {return number%2 == 0;};trace(Math.isEven(2));trace(Math.isEven(7));
http://www.flashforum.de/forum/archive/ind...p/t-101052.html

 

Funciona apenas alterando o AS do filme para 1.0, acho que porque a classe Math não é dynamic. E quando digo alterar, é nas configurações de publicação do FlashPlayer, portanto todo o código deve ser compatível com AS1.0, nada de tipagem e etc...

 

Um outro exemplo, que funciona no AS2, seria:

MovieClip.prototype.alert = function(){	trace("AA");}var MC:MovieClip = _root.createEmptyMovieClip("teste", 0);MC.alert();
Com protótipos você pode criar métodos e propriedades para uma classe, sem ter de alterá-la. Na versão MX era dessa forma que se trabalhava com objetos.

Eu acho mais interessante criar uma classe, tipo Math2, e ir adicionando os métodos que tu for criando com o tempo. Dessa forma você pode usar ela N vezes para N aplicações sem ter o trabalho de ficar copiando protótipos de uma lado para outro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segundo o cara que desenvolveu esse protótipo, você pode usá-lo para AS2, desde que você inclue (#include) a .as AQUI.

 

 

Não funciona. Some na publicação para AS2...alguma idéia??

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.