Fundo flutuante em AS2 e AS3

Aqui você pode postar seus tutoriais sobre Adobe Flash.

Re: Fundo flutuante em AS2 e AS3

Mensagempor andreterebinto » Ter 19 Jan, 2010 12:10 pm

Olá boa tarde, como que faço para tirar a imagem da URL para imagem dentro do próprio palco, la esta para ler a imagem de fora correto?
como faço para mudar isso?

desde já agradeço ;D
andreterebinto
FM Team 1
FM Team 1
 
Mensagens: 3
Data de registro: Ter 19 Jan, 2010 12:05 pm

Re: Fundo flutuante em AS2 e AS3

Mensagempor docflash2 » Qua 20 Jan, 2010 6:39 pm

Qual deles esta' usando? AS2 ou AS3 ?
Em principio seria anular tudo o q diz respeito ao carregamento e isolar todas as acoes relativas `a instancia.
Avatar de usuário
docflash2
FM Team 3
FM Team 3
 
Mensagens: 222
Data de registro: Sex 06 Nov, 2009 6:25 am
Localização: Tilburg

Re: Fundo flutuante em AS2 e AS3

Mensagempor andreterebinto » Qui 21 Jan, 2010 10:05 am

Olá!!!!

Estou usando AS2, sou meio novo em flash, tentei anular td que estava vindo do var imagen_url, mas não fui feliz.

Obrigado!!!
andreterebinto
FM Team 1
FM Team 1
 
Mensagens: 3
Data de registro: Ter 19 Jan, 2010 12:05 pm

Re: Fundo flutuante em AS2 e AS3

Mensagempor docflash2 » Qui 21 Jan, 2010 12:04 pm

ok...

Código: Selecionar tudo
/**
   @docFlash@flashopen.net 2008
   http://lusoned.dyndns.org/tutorials/Fundo%20Flutuante.html
   
*/
//
Stage.scaleMode = "noscale";
//
// 1. -------------------------- Declarar variaveis
//
// coordenadas para os zeros do stage
var zero_x:Number = -(Stage.width-800)/2;
var zero_y:Number = -(Stage.height-600)/2;
//
// stage listener
var stageobj:Object = new Object();
Stage.addListener(stageobj);
//
// variaveis para a velocidade
var speedX:Number;
var speedY:Number;
//
// variaveis para o destino
var destX:Number;
var destY:Number;
//
/*
// o caminho da imagem
var imagem_url:String = "http://213.133.49.3/images/P1010157.jpg";
//
// preparar o carregamento da imagem
var mc_loader:MovieClipLoader = new MovieClipLoader();
var mc_object:Object = new Object();
mc_loader.addListener(mc_object);
*/
//
//
// 2. ----------------------- Stage foi redimensionado?
//
stageobj.onResize = function() {
   //
   //atualizar os zeros do stage
   zero_x = -(Stage.width-800)/2;
   zero_y = -(Stage.height-600)/2;
   //
   // atualizar coords
   move_photo(mc,100);
};
//
//
/*
// 3. ------------------------------- criar main mc
//
var mc:MovieClip = this.createEmptyMovieClip("mc", 1);
//
//
// 4. ------------------------------ carregar a imagem
//
function load_clip() {
   mc_loader.loadClip(imagem_url,mc);
}
//
// iniciar
load_clip()
//
// 5. ---------------------------- a imagem carregou
//
mc_object.onLoadInit = function(img) {
   //
   // mc ficou transparente
   mc._alpha = 0;
   //
   // centrar mc
   mc._x = zero_x-(mc._width/2-Stage.width/2);
   mc._y = zero_y-(mc._height/2-Stage.height/2);
   //
   // o main mc fica opaco gradualmente
   mc.onEnterFrame = function(){
      if(mc._alpha >=100){
         //
         // ajustar
         mc._alpha = 100;
         //
         // accionar o Mouse
         Mouse.addListener(mouse_move);
         //
         // remover
         this.onEnterFrame = null;
      }else{
         //
         // incrementar a opacidade em 10
         mc._alpha += 10;
      }
   };
   //
   // limpar este metodo
   this.onLoadInit = null;
   
};
//
// detectar erro no carregamento
mc_object.onLoadError = function(img,code,status) {
   trace(img);
   trace(code);
   trace(status);
};
*/
//
// 6. ------------------------------- Mouse foi acionado
//
var mouse_move:Object = new Object();
Mouse.addListener(mouse_move);
//
mouse_move.onMouseMove = function() {
   delete this.onEnterFrame;
   updateAfterEvent();
   move_photo(mc,5);
};
//
// 7. ----------------------------- Mover imagem
//
function move_photo(mc, speed:Number) {
   //
   //calculos
   speedX = Math.round((xmouse(_xmouse)-zero_x)/Stage.width*100)/100;
   speedY = Math.round((ymouse(_ymouse)-zero_y)/Stage.height*100)/100;
   destX = Math.round(-((mc._width-Stage.width)*speedX));
   destY = Math.round(-((mc._height-Stage.height)*speedY));
   //
   // loop
   mc.onEnterFrame = function() {
      if (this._x != destX) {
         increaseX = Math.round((destX-this._x+zero_x)*speed)/100;
         this._x += increaseX;
      }
      if (this._y != destY) {
         increaseY = Math.round((destY-this._y+zero_y)*speed)/100;
         this._y += increaseY;
      }
      if (Math.abs(increaseX) < .5 && Math.abs(increaseY) < .5) {
         delete this.onEnterFrame;
      }
      updateAfterEvent();
   };
}
//
// mouse x
function xmouse(n):Number{
   if(n > zero_x+Stage.width){
      return zero_x+Stage.width;
   }else if(n < zero_x){
      return zero_x;
   }else{
      return n;
   }
}
//
// mouse y
function ymouse(n):Number{
   if(n > zero_y+Stage.height){
      return zero_y+Stage.height;
   }else if(n < zero_y){
      return zero_y;
   }else{
      return n;
   }
}
Avatar de usuário
docflash2
FM Team 3
FM Team 3
 
Mensagens: 222
Data de registro: Sex 06 Nov, 2009 6:25 am
Localização: Tilburg

Re: Fundo flutuante em AS2 e AS3

Mensagempor andreterebinto » Qui 21 Jan, 2010 1:47 pm

ok, era isso mesmo, valeu docflash, to estudando a fundo e o q eu tivr de novo posto aqui.


muito obrigado!!!!
andreterebinto
FM Team 1
FM Team 1
 
Mensagens: 3
Data de registro: Ter 19 Jan, 2010 12:05 pm

Re: Fundo flutuante em AS2 com multiplas imagens

Mensagempor AndrewsBR » Qui 04 Mar, 2010 1:08 pm

docFlash escreveu:A versao deste mesmo tutorial em AS2 mas com transicao de imagens cada 5 segundos:

Código: Selecionar tudo
/**
   @docFlash@flashopen.net 2009
   
*/
stop();
Stage.scaleMode = "noscale";
System.security.allowDomain("http://www.flashopen.net");
//
// 1. -------------------------- Declarar variaveis
//
// coordenadas para os zeros do stage
var zero_x:Number = -(Stage.width-800)/2;
var zero_y:Number = -(Stage.height-600)/2;
//
// stage listener
var stageobj:Object = new Object();
Stage.addListener(stageobj);
//
// variaveis para a velocidade
var speedX:Number;
var speedY:Number;
//
// variaveis para o destino
var destX:Number;
var destY:Number;
//
// os caminhos das imagens
var imagens_url:Array = [];
imagens_url[0] = "http://213.133.49.3/images/P1010154.jpg";
imagens_url[1] = "http://213.133.49.3/images/PC070022.jpg";
imagens_url[2] = "http://213.133.49.3/images/P2240350_c.jpg";
//
// preparar o carregamento da imagem
var mc_loader:MovieClipLoader = new MovieClipLoader();
//
var mc_object:Object = new Object();
var mcs_objects:Object = new Object();
//
mc_loader.addListener(mc_object);
//
//
// 2. ----------------------- Stage foi redimensionado?
//
stageobj.onResize = function() {
   //
   //atualizar os zeros do stage
   zero_x = -(Stage.width-800)/2;
   zero_y = -(Stage.height-600)/2;
   //
   // atualizar coords
   move_photo(mc,100);
};
//
//
// 3. ------------------------------- criar main mc
//
var mc:MovieClip = this.createEmptyMovieClip("mc", 1);
//
//
// 4. ------------------------------ carregar imagem
//
var count_time:Number;
var count_clip:Number = 0;
var clip_presente:Number;
var clip_passado:Number;
var intervalo:Number = 5;//segundos
//
function load_clip(n) {
   mc.createEmptyMovieClip("mc"+n,n+1);
   mc_loader.loadClip(imagens_url[n],mc["mc"+n]);
}
//
// iniciar
load_clip(count_clip);
//
// 5. ---------------------------- a imagem carregou
//
mc_object.onLoadInit = function(img) {
   //
   // mc ficou transparente
   img._alpha = 0;
   //
   // centrar mc
   mc._x = zero_x-(mc._width/2-Stage.width/2);
   mc._y = zero_y-(mc._height/2-Stage.height/2);
   //
   // o main mc fica opaco gradualmente
   mc.onEnterFrame = function() {
      if (img._alpha>=100) {
         //
         // ajustar
         img._alpha = 100;
         //
         // accionar o Mouse
         Mouse.addListener(mouse_move);
         //
         // remover
         mc_loader.removeListener(mc_object);
         //
         // continuar carregando os outros
         mc_loader.addListener(mcs_objects);
         count_clip++;
         //load_clip(count_clip);
         //
         this.onEnterFrame = null;
      } else {
         //
         // incrementar a opacidade em 10
         img._alpha += 10;
      }
   };
   //
   // limpar este metodo
   this.onLoadInit = null;

};
//
// detectar erro no carregamento
mc_object.onLoadError = function(img, code, status) {
   trace(img);
   trace(code);
   trace(status);
};
//
// 6. ------------------------------- Mouse foi acionado
//
var mouse_move:Object = new Object();
//
mouse_move.onMouseMove = function() {
   delete this.onEnterFrame;
   updateAfterEvent();
   move_photo(mc,8);
};
//
// 7. ----------------------------- Mover imagem
//
//
function move_photo(mc, speed:Number) {
   //
   //calculos
   //

   speedX = Math.round((xmouse(_xmouse)-zero_x)/Stage.width*100)/100;
   speedY = Math.round((ymouse(_ymouse)-zero_y)/Stage.height*100)/100;

   destX = Math.round(-((mc._width-Stage.width)*speedX));
   destY = Math.round(-((mc._height-Stage.height)*speedY));
   //
   // loop
   mc.onEnterFrame = function() {
      if (this._x != destX) {
         increaseX = Math.round((destX-this._x+zero_x)*speed)/100;
         this._x += increaseX;
      }
      if (this._y != destY) {
         increaseY = Math.round((destY-this._y+zero_y)*speed)/100;
         this._y += increaseY;
      }
      if (Math.abs(increaseX)<.5 && Math.abs(increaseY)<.5) {
         delete this.onEnterFrame;
      }
      updateAfterEvent();
   };
}
//
// mouse x
function xmouse(n):Number {
   if (n>zero_x+Stage.width) {
      return zero_x+Stage.width;
   } else if (n<zero_x) {
      return zero_x;
   } else {
      return n;
   }
}
//
// mouse y
function ymouse(n):Number {
   if (n>zero_y+Stage.height) {
      return zero_y+Stage.height;
   } else if (n<zero_y) {
      return zero_y;
   } else {
      return n;
   }
}
//
// As restantes imagens....
//
//
mcs_objects.onLoadInit = function(img) {
   img._alpha = 0;
   if (count_clip<imagens_url.length-1) {
      count_clip++;
      load_clip(count_clip);
   } else {
      //
      // iniciar transicao
      clip_passado = 0;
      clip_presente = 1;
      count_time = setTimeout(substituir_imagem, intervalo*1000, clip_passado, clip_presente);
      this.onLoadInit = null;
   }
};
//
// transicao
//
function substituir_imagem(n, m) {
   clearTimeout(count_time);
   //
   var clip1:MovieClip = mc["mc"+n];
   var clip2:MovieClip = mc["mc"+m];
   //
   mc.onEnterFrame = function() {
      if (clip1._alpha<=0) {
         clip1._alpha = 0;
         clip2._alpha = 100;
         //
         clip_passado = m;
         if (m == imagens_url.length-1) {
            clip_presente = 0;
         } else {
            clip_presente = clip_passado+1;
         }
         //
         count_time = setTimeout(substituir_imagem, intervalo*1000, clip_passado, clip_presente);
         this.onEnterFrame = null;
      } else {
         clip1._alpha -= 10;
         clip2._alpha += 10;
      }
   };
}


Copiar e colar este AS nao vai dar  ;D
Tem uma modificaçãozinha q vai ter de fazer numa das linhas... é simples...

Bom estudo!
;)


Muito bom esse tutorial docFlash, parabéns! Fazia um tempo que eu queria saber como isso funcionava!

Não sei se isso aconteceu com você, mas comigo, quando o bg está flutuando, a transição trava. :'(
Como posso corrigir isso?

Vlw! ;)
Andrews
AndrewsBR
FM Team 1
FM Team 1
 
Mensagens: 3
Data de registro: Seg 16 Nov, 2009 10:13 am

Re: Fundo flutuante em AS2 e AS3

Mensagempor docflash2 » Sáb 06 Mar, 2010 11:05 am

Não sei se isso aconteceu com você, mas comigo, quando o bg está flutuando, a transição trava


Hummm ... Nao tenho desculpa 8) Bad boy! Podem ser 2 coisas: 1- Erro no tutorial ou comendo memoria do cpu, que da' no mesmo-> erro no tutorial.

Vc teste este site: http://www.flashopen.net Esta' usando esse AS (mas possivelmente com algumas alteracoezinhas q nao me lembro quais) Se estiver engasgando me avise, se nao, me avise tambem q eu anotarei as diferencas para vc.

Obrigado pelo seu feedback.
Avatar de usuário
docflash2
FM Team 3
FM Team 3
 
Mensagens: 222
Data de registro: Sex 06 Nov, 2009 6:25 am
Localização: Tilburg

Re: Fundo flutuante em AS2 e AS3

Mensagempor AndrewsBR » Qua 10 Mar, 2010 4:02 pm

Testei o site, e lá não engasga. Testei também, o meu em outras máquinas e mesmo assim continua travando na transição, quando o fundo está flutuando.

Obrigado pela atenção,
Andrews
AndrewsBR
FM Team 1
FM Team 1
 
Mensagens: 3
Data de registro: Seg 16 Nov, 2009 10:13 am

Re: Fundo flutuante em AS2 e AS3

Mensagempor docflash2 » Dom 14 Mar, 2010 11:32 am

Re-escrevi o tutorial em pdf aqui:
http://www.flashopen.net/tutorials/bg_f ... eMulti.pdf

O exemplo online esta' aqui:
http://www.flashopen.net/tutorials/bg_float_multi/

No pdf esta' o link dos arquivos para baixar (zip).
Avatar de usuário
docflash2
FM Team 3
FM Team 3
 
Mensagens: 222
Data de registro: Sex 06 Nov, 2009 6:25 am
Localização: Tilburg

Re: Fundo flutuante em AS2 e AS3

Mensagempor AndrewsBR » Ter 16 Mar, 2010 6:26 pm

Obrigado docflash2

Agora vou estudá-lo!
AndrewsBR
FM Team 1
FM Team 1
 
Mensagens: 3
Data de registro: Seg 16 Nov, 2009 10:13 am

Re: Fundo flutuante em AS2 e AS3

Mensagempor muka_muka » Dom 21 Mar, 2010 2:25 pm

como eu troco a imagem?
apenas altero a URL no código ou devo realizar outro processo?
muka_muka
FM Team 1
FM Team 1
 
Mensagens: 7
Data de registro: Dom 21 Mar, 2010 2:22 pm

Re: Fundo flutuante em AS2 e AS3

Mensagempor docflash2 » Ter 23 Mar, 2010 9:25 pm

Agora vou estudá-lo!


Bom estudo AndrewsBR

como eu troco a imagem?


Se se refere a este ultimo tuto, entao e' so' mudar/adicionar a(s) URL(s) no arquivo .xml
Avatar de usuário
docflash2
FM Team 3
FM Team 3
 
Mensagens: 222
Data de registro: Sex 06 Nov, 2009 6:25 am
Localização: Tilburg

Re: Fundo flutuante em AS2 e AS3

Mensagempor mutanti07 » Qui 15 Abr, 2010 2:46 am

Eu Gostaria de saber se em ves da imagem flutuar com o mause ela flutuasse com botoes em posiçõe determinadas eu tentei modificar o "mouse_mouve" por por um mouse.CLICK e mudei as determinantes de x e y para um valor fixo, mas não obtive sucesso, alguem pode me ajudar ou me dar uma dica por onde começar.
Obrigado
mutanti07
FM Team 1
FM Team 1
 
Mensagens: 3
Data de registro: Qui 15 Abr, 2010 2:38 am

Re: Fundo flutuante em AS2 e AS3

Mensagempor patric.psantos » Seg 17 Mai, 2010 12:18 am

Em que linha, como... eu faço para colocar itens superior a imagem?
Não descobri ainda...

E outra...
alguem consegue ajustar o codigo de forma que pegue uma imagem
interna ao swf ao invez de chamar a imagem de fora?
patric.psantos
FM Team 1
FM Team 1
 
Mensagens: 3
Data de registro: Qua 07 Abr, 2010 5:57 pm

Re: Fundo flutuante em AS2 e AS3

Mensagempor Forneus » Ter 17 Ago, 2010 4:23 pm

docflash2 escreveu:Nao Forneus.
Este tutorial e' so' mesmo esse AS (codigo) numa frame do palco.
So' colar.


Valeu mais só mais uma pergunta tosca, eu tenho que fazer apenas uma figura, tipo assim, sem nenhuma seqüência de quadros com cada quadro tendo uma figura em posição diferente? tipo assim eu desenho um quadrado e eu coloco uns 30 ou 40 quadros com a figura intácta mesmo? coloco o código e pronto?
-------------------------------------------------------------------------------------------------------------
Edit:

Bom, eu tentei fazer o efeito aqui e não rolou legal não, eu acho que tipo assim eu não deva ter colocado no website mais sim no meu fórum e aí definitivamente não rolou, mas parabéns a todos aqueles que conseguiram e mais uma vez a você meu caro amigo docflash. Abraços.
Avatar de usuário
Forneus
Membros
Membros
 
Mensagens: 149
Data de registro: Sáb 17 Jan, 2009 11:48 pm

AnteriorPróximo

Retornar para Flash Tutoriais

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 4 visitantes