Olá pessoal, estou com o seguinte problema:
Tenho um código aqui que gera uma galeria de imagens a partir de um arquivo XML, até ai ok. Está carregando as imagens e tudo mais, mas quero que essa galeria se mova conforme a posição do mouse sobre ela.
Tenho uma máscara sobre ela que também funciona. Estava usando a função getBounds e tal para delimitar a área que o mouse acionaria o deslocamento.
Eu poderia simplesmente pegar a dimensão da imagens "que é padrão" e o length do XML + espaçamento e gerar no "braço" a largura do MC, mas queria saber se posso de alguma forma pegar esse valor sem fazer "gambiarras".
Quando mando um "trace", ele me retorna "undefined".
Não sei se fui muito claro, mas desde já agradeço a ajuda.
Publicidade
|
|
Page 1 of 1
Como saber o "width" de um MC que carrega imagens de um XML
#2
Posted 09 April 2008 - 06:38 PM
Seguinte...
Você esta utilizando o comando ".width" ou o comando "._width" ?
Você precisa utilizar o comando com o underline ("._width")
E para tal ação, você vai precisar utilizar a classe MovieClioLoader para poder ter controle sobre quando sua imagem terá sido carregada.
Quando a imagem tiver sido carregada, manda buscar as medidas do MovieClip e pronto.
Qualquer dúvida posta !
Abração !
Você esta utilizando o comando ".width" ou o comando "._width" ?
Você precisa utilizar o comando com o underline ("._width")
E para tal ação, você vai precisar utilizar a classe MovieClioLoader para poder ter controle sobre quando sua imagem terá sido carregada.
Quando a imagem tiver sido carregada, manda buscar as medidas do MovieClip e pronto.
Qualquer dúvida posta !
Abração !
#3
Posted 10 April 2008 - 03:16 PM
Veja o código abaixo, quero mandar o valor que está dentro da função para reutilizar num código que verifica o tamanho desse movie.
exibirFotos = new XML();
exibirFotos.ignoreWhite = true;
exibirFotos.onLoad = function(success) {
numimages = this.firstChild.childNodes.length;
spacing = 140;
larguraMenu = numimages * spacing; // Gostaria de mandar esse valor pra fora da função mas não estou conseguindo.
trace(larguraMenu);
for (i=0; i<numimages; i++) {
this.picHolder = this.firstChild.childNodes[i];
this.thumbHolder = menu_mc.createEmptyMovieClip("thumbnail"+i, i);
this.thumbHolder.filters = filterArray;
this.thumbHolder._x = i*spacing;
this.thumbHolder._y = 0;
this.thumbLoader = this.thumbHolder.createEmptyMovieClip("thumbnail_image", 0);
this.thumbLoader.loadMovie(this.picHolder.attributes.miniatura);
this.thumbHolder.nome = this.picHolder.attributes.nome;
this.thumbHolder.maior = this.picHolder.attributes.maior;
this.thumbHolder.onRollOver = function() {
loader.loadMovie(this.maior);
_root.title_txt.text = this.nome;
};
}
};
exibirFotos.load("xmlphoto.xml");
exibirFotos = new XML();
exibirFotos.ignoreWhite = true;
exibirFotos.onLoad = function(success) {
numimages = this.firstChild.childNodes.length;
spacing = 140;
larguraMenu = numimages * spacing; // Gostaria de mandar esse valor pra fora da função mas não estou conseguindo.
trace(larguraMenu);
for (i=0; i<numimages; i++) {
this.picHolder = this.firstChild.childNodes[i];
this.thumbHolder = menu_mc.createEmptyMovieClip("thumbnail"+i, i);
this.thumbHolder.filters = filterArray;
this.thumbHolder._x = i*spacing;
this.thumbHolder._y = 0;
this.thumbLoader = this.thumbHolder.createEmptyMovieClip("thumbnail_image", 0);
this.thumbLoader.loadMovie(this.picHolder.attributes.miniatura);
this.thumbHolder.nome = this.picHolder.attributes.nome;
this.thumbHolder.maior = this.picHolder.attributes.maior;
this.thumbHolder.onRollOver = function() {
loader.loadMovie(this.maior);
_root.title_txt.text = this.nome;
};
}
};
exibirFotos.load("xmlphoto.xml");
#4
Posted 10 April 2008 - 06:36 PM
Logo abaixo do comando que você deixou em negrito tem um "trace" para verificar se você está recebendo o valor corretamente...
Esse trace está funcionando ? Ou seja, esta mostrando o valor correto ou é nele que está aparecendo undefined ?
Teóricamente ele deveria estar funcionando, não vi nada de errado com a programação.
Eu não entendi com o que você quis dizer com "mandar esse valor pra fora da função".
A variável precisa estar dentro da função para poder ser calculada, pois seu valor vai variar de acordo com a quantidade de itens em seu XML.
E fora que ao criar a variável "larguraMenu", ela vai armazenar o valor dela e pode ser acessada posteriormente sem o menor problema...
Acho que não to conseguindo entender muito bem sem problema nao....
Se quiser posta seu arquivo que fica mais fácil de voce me explicar...
Abraço !
Esse trace está funcionando ? Ou seja, esta mostrando o valor correto ou é nele que está aparecendo undefined ?
Teóricamente ele deveria estar funcionando, não vi nada de errado com a programação.
Eu não entendi com o que você quis dizer com "mandar esse valor pra fora da função".
A variável precisa estar dentro da função para poder ser calculada, pois seu valor vai variar de acordo com a quantidade de itens em seu XML.
E fora que ao criar a variável "larguraMenu", ela vai armazenar o valor dela e pode ser acessada posteriormente sem o menor problema...
Acho que não to conseguindo entender muito bem sem problema nao....
Se quiser posta seu arquivo que fica mais fácil de voce me explicar...
Abraço !
#5
Posted 10 April 2008 - 07:04 PM
Aparece o valor correto na variável. Eu preciso reutilizar esse valor em uma verificação que determina se esse movieclip ultrapassou uma posição X, pois ele fica embaixo de uma máscara.
Não deixo o arquivo aqui pois estou mudando outras coisas ainda, mas a lógica é a seguinte:
- É um topo de um site, onde aparecem X imagens (ele pega no XML) na horizontal;
- Essas imagens estão aparecendo apenas em uma região (horizontal), estou utilizando uma máscara para isso;
- Essa mesma máscara tem um "listener" que avalia se o mouse está sobre ela ou não. Caso não esteja, esse movieclip com as fotos dá scroll automático da direita para a esquerda. Aqui q eu preciso saber a dimensão do movieclip. Pois a partir dela eu vou saber se o mc já se deslocou o suficiente (ou seja, aparecer no limite da mascara) para poder dar scroll na direção contrária.
Caso o mouse fique sobre essa máscara, ele ativa um esquema q conforme a posição do mouse sobre ela, movimenta ela para esquerda ou para direita, aqueles scrolls básicos de tela.
Não sei se consegui ser mais claro agora ^^
Não deixo o arquivo aqui pois estou mudando outras coisas ainda, mas a lógica é a seguinte:
- É um topo de um site, onde aparecem X imagens (ele pega no XML) na horizontal;
- Essas imagens estão aparecendo apenas em uma região (horizontal), estou utilizando uma máscara para isso;
- Essa mesma máscara tem um "listener" que avalia se o mouse está sobre ela ou não. Caso não esteja, esse movieclip com as fotos dá scroll automático da direita para a esquerda. Aqui q eu preciso saber a dimensão do movieclip. Pois a partir dela eu vou saber se o mc já se deslocou o suficiente (ou seja, aparecer no limite da mascara) para poder dar scroll na direção contrária.
Caso o mouse fique sobre essa máscara, ele ativa um esquema q conforme a posição do mouse sobre ela, movimenta ela para esquerda ou para direita, aqueles scrolls básicos de tela.
Não sei se consegui ser mais claro agora ^^
#6
Posted 11 April 2008 - 12:24 AM
Se você quer usar a variável larguraMenu fora da função onLoad você tem que declarar essa variável fora da função onLoad. Assim:
Agora, quando você tentar essa variável na função do Mouse ele vai ter o valor do MovieClip.
[]s
CÓDIGO
var larguraMenu:Number;
exibirFotos = new XML();
exibirFotos.ignoreWhite = true;
exibirFotos.onLoad = function(success) {
numimages = this.firstChild.childNodes.length;
spacing = 140;
larguraMenu = numimages * spacing; // Gostaria de mandar esse valor pra fora da função mas não estou conseguindo.
trace(larguraMenu);
for (i=0; i<numimages; i++) {
this.picHolder = this.firstChild.childNodes[i];
this.thumbHolder = menu_mc.createEmptyMovieClip("thumbnail"+i, i);
this.thumbHolder.filters = filterArray;
this.thumbHolder._x = i*spacing;
this.thumbHolder._y = 0;
this.thumbLoader = this.thumbHolder.createEmptyMovieClip("thumbnail_image", 0);
this.thumbLoader.loadMovie(this.picHolder.attributes.miniatura);
this.thumbHolder.nome = this.picHolder.attributes.nome;
this.thumbHolder.maior = this.picHolder.attributes.maior;
this.thumbHolder.onRollOver = function() {
loader.loadMovie(this.maior);
_root.title_txt.text = this.nome;
};
}
};
exibirFotos.load("xmlphoto.xml");
exibirFotos = new XML();
exibirFotos.ignoreWhite = true;
exibirFotos.onLoad = function(success) {
numimages = this.firstChild.childNodes.length;
spacing = 140;
larguraMenu = numimages * spacing; // Gostaria de mandar esse valor pra fora da função mas não estou conseguindo.
trace(larguraMenu);
for (i=0; i<numimages; i++) {
this.picHolder = this.firstChild.childNodes[i];
this.thumbHolder = menu_mc.createEmptyMovieClip("thumbnail"+i, i);
this.thumbHolder.filters = filterArray;
this.thumbHolder._x = i*spacing;
this.thumbHolder._y = 0;
this.thumbLoader = this.thumbHolder.createEmptyMovieClip("thumbnail_image", 0);
this.thumbLoader.loadMovie(this.picHolder.attributes.miniatura);
this.thumbHolder.nome = this.picHolder.attributes.nome;
this.thumbHolder.maior = this.picHolder.attributes.maior;
this.thumbHolder.onRollOver = function() {
loader.loadMovie(this.maior);
_root.title_txt.text = this.nome;
};
}
};
exibirFotos.load("xmlphoto.xml");
Agora, quando você tentar essa variável na função do Mouse ele vai ter o valor do MovieClip.
[]s
#7
Posted 12 April 2008 - 12:00 PM
Bah, ainda não da certo, qdo mando ver num trace fora da função da "undefined", dentro da função fica ok
Share this topic:
Page 1 of 1
Similar Topics
| Topic | Forum | Started By | Stats | Last Post Info | |
|---|---|---|---|---|---|
|
banco de dados
Porque ta aparecendo isso |
PHP | Guest_AAAA_* |
|
|
|
Como posso fazer um loop lado a lado
não sei como fazer. |
Dreamweaver |
clayton-mer
|
|
|
|
ugg boots what to do to eliminate hemorroids
uggs the techniques of effective residence receiving revealed |
Eventos | Guest_obsehanna_* |
|
|
|
Brasileiro passa 3 vezes mais tempo na web que vendo TV
|
Notícias |
Notícias
|
|
|
|
como?
tem como fazer isso? |
PHP |
Igor de Paula
|
|
|
|
Forçando POstBack
Como faço |
Web Standards |
allcris
|
|
|
|
Chefe de espionagem vê Israel como líder na ciberguerra
|
Notícias |
Notícias
|
|
|
|
Comprar Metoclopramide generico preco, como comprar Reglan 10 mg espana
|
Eventos | Guest_GoroGOFTDeego_* |
|
Publicidade
|
|

Help













