Ir para conteúdo
Fórum Script Brasil
  • 0

Dúvida com Resize - AS2


Prof. Jonatas

Pergunta

Galera,

Montei um script que carrega as imagens e ajusta de acordo com o tamanho da tela do usuário.

Se o usuário der um resize na tela depois que a imagem já está aberta, legal, ele executa a função e funciona certinho.

Mas acontece o seguinte, se o usuário dá um resize primeiro e depois abre a imagem a mesma não carrega.

Não consigo corrigir este erro nem por reza braba, para visualizar o exemplo segue link: http://www.i9ideias.com.br/dani3

Segue abaixo o código, lembrando que a função que ajusta o tamanho da imagem chama-se: minhaFuncao() a mesma está sendo chamada dentro do resize.

Eu pesso para a imagem ser aberta fora do palco na função acbt(), em sw e sh e dou um setTimeout, porque a imagem quando é carregada ela vem com os tamanhos 0 (zero), só depois de um tempo ela fica com o tamanho original, então eu do um tempo de 3 mile segundos pra execultar a função minhaFuncao() que reajusta o tamanho da imagem e centraliza.

Segue abaixo o código:

Stage.align = "TL";

Stage.scaleMode = "noScale";

var logo:MovieClip;

var linhav:MovieClip;

var menu:MovieClip;

var rodape:MovieClip;

var calcmenu:Number;

var abertura:MovieClip;

var sw:Number;

var sh:Number;

var alvo:MovieClip;

var fechar:MovieClip;

var bt02:MovieClip;

var fd:MovieClip;

var lk:String;

sw = Stage.width;

sh = Stage.height;

calc1 = sw/100

calc2 = sh/100

fd._x = 0

fd._y = 0

fd._width = sw

fd._height = sh

fd.onPress = function(){}

fd.useHandCursor = false;

fd._visible=false;

fechar._width = 50

fechar._height = fechar._width / 1.3

fechar._x = sw - fechar._width;

fechar._y = sh - sh;

fechar._visible = false;

bt01._visible = false;

bt02._visible = false;

logo._x = sw - sw + logo._width / 1.3

logo._y = sh - sh + logo._height / 1.3

linhav._x = logo._x + logo._width / 1.3

linhav._y = 0

linhav._height = sh-sh/9

linhav._width = 0.1

calcmenu = linhav._x = logo._x + logo._width / 1.3

abertura._x = linhav._x + 50

abertura._y = logo._y

abertura._width = sw - calcmenu-100

largura = abertura._width

abertura._height = largura/1.4

menu._x = linhav._x

menu._y = sh / 2

rodape._x = sw/2

rodape._y = sh - 10

fechar.onPress = function(){

alvo.unloadMovie()

fd.gotoAndPlay(11)

this._visible = false;

}

bt02.onPress = function(){

lk = "3.jpg"

acbt()

intervalo == setTimeout(minhaFuncao, 1000);

}

bt01.onPress = function(){

lk = "4.jpg"

acbt()

intervalo == setTimeout(minhaFuncao, 300);

}

function acbt(){

alvo.loadMovie(lk)

alvo._x = sw

alvo._y = sh

fechar._visible = true;

fd._visible=true;

fd.gotoAndPlay(2)

}

function minhaFuncao() {

//trace(alvo._width);

if(alvo._width>=alvo._height){

alvo._x = calc1*20

alvo._width = calc1*60

alvo._height = alvo._width / 1.3

calc3 = sh - alvo._height

resultado = calc3 / 2

alvo._y = sh - sh + resultado

}

else

{

alvo._y = calc2*10

alvo._height = calc2*80

alvo._width = alvo._height / 1.3

calc4 = sw - alvo._width

resultado2 = calc4 / 2

alvo._x = sw - sw + resultado2

}

fechar._x = sw - fechar._width;

fechar._y = sh - sh;

}

sizeListener = new Object();

sizeListener.onResize = function(){

var largura:Number

sw = Stage.width;

sh = Stage.height;

logo._x = sw - sw + logo._width / 1.3

logo._y = sh - sh + logo._height / 1.3

linhav._x = logo._x + logo._width / 1.3

linhav._y = 0

linhav._height = sh-sh/9

linhav._width = 0.1

menu._x = linhav._x

menu._y = sh / 2

rodape._x = sw/2

rodape._y = sh - 10

calcmenu = linhav._x = logo._x + logo._width / 1.3

abertura._x = linhav._x + 50

abertura._y = logo._y

abertura._width = sw - calcmenu-100

largura = abertura._width

abertura._height = largura/1.4

calc1 = sw/100

calc2 = sh/100

fd._x = 0

fd._y = 0

fd._width = sw

fd._height = sh

fd.useHandCursor = false;

minhaFuncao()

}

Stage.addListener(sizeListener);

Alguém saberia me dizer por favor porque se eu der um resize antes de abrir a imagem ela não carrega !!!??????? :blink:

valeu galera.

Este código só tem este pauzinho, serve para alguém que precise trabalhar com site 100% da tela e imagens centralizadas.

No meu conceito ta bem elaborado, está livre pra copiarem aí, bom proveito.

E se possível, me ajudemmmmm por favoooooorrrrr !!!!!!!!! :rolleyes:

Aguardo respostas.

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Galera a função de Resize na imagem estava errada, não calculava direito a proporção.

Havia um outro problema que é quando a imagem estava ficava menor que 80% de largura da tela e altura maior, a altura ultrapassava a tela, oque não é o objetivo, independente da imagem q abrir eu quero que sobre sempre uma margem de segurança a imagem não pode ultrapassar a mesma.

Segue abaixo apenas a função corrigida, há me ajudem no item de cima por favooorrrr.... quando dou um resize antes de qualquer coisa as imagens não carregammmmm !!!!:::

function minhaFuncao(){

largorig = alvo._width

altorig = alvo._height

if(largorig>=altorig){

//tamanho

largdese = calc1*80

largcalcp = 90/largdese

altfinal = (altorig*largdese)/largorig

if(altfinal>sh){

//tamanho

altdese = calc2*80

altcalcp = 90/altdese

largfinal = (largorig*altdese)/altorig

alvo._height = altdese

alvo._width = largfinal

//alinhamento

calc3 = sh - altdese

resultado = calc3 / 2

alinhay = sh - sh + resultado

calc4 = sw - largfinal

alinhax = calc2*10

resultado2 = calc4 / 2

alinhax = sw - sw + resultado2

alvo._x = alinhax

alvo._y = alinhay

}else{

alvo._width = largdese

alvo._height = altfinal

//alinhamento

calc3 = sh - altfinal

resultado = calc3 / 2

alinhay = sh - sh + resultado

alinhax = calc1*10

alvo._x = alinhax

alvo._y = alinhay

}

}

else

{

//tamanho

altdese = calc2*80

altcalcp = 90/altdese

largfinal = (largorig*altdese)/altorig

alvo._height = altdese

alvo._width = largfinal

//alinhamento

calc3 = sw - largfinal

resultado = calc3 / 2

alinhax = sw - sw + resultado

alinhay = calc2*10

alvo._x = alinhax

alvo._y = alinhay

}

}

valeu galera, continuo aguardando respostas!!!!

Link para o comentário
Compartilhar em outros sites

  • 0

Resolvido !

Ao invés de eu carregar as imagens em um mc já existente no caso "alvo", eu carrego em um novo mc criado em as com "createEmptyMovieClip".

Aí carrega certinho independente do ajuste da janela, se está restaurada, maximizada e etc....

Até + :rolleyes:

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...