• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Scorpion_Blood

loadClip()/unloadClip() situation.

9 mensagens neste tópico

HELP! lol como dá mt traduzir lol eu vou meter aqui uma parte de post que cirei noutro forum:

==========================================================

Hi, I'm relatively new to flash, and I've encountered some trouble with loadClip() and unloadClip():

I have this code:

var mcLoader:MovieClipLoader = new MovieClipLoader();
mcLoader.addListener(this);

function loadPic(sPath) {
mcLoader.loadClip(sPath, picBox);	
}

function unloadPic() {
this.unloadClip(picBox);
}

then I have 2 buttons:

button1

on (release) {
   unloadpic()
   loadpic("blah1.jpg");
}

button2

on (release) {
   unloadpic()
   loadpic("blah2.jpg");
}

my problem is, I need a fast switching images so, If I click button1 it starts the loading process of the image, but then if I click on button2 while the first image is loading, it unloads it but then it shows the button1 image and not the button2 image. how can I work around, by stopping the loading process? how can I do that? or is there another way ;) ?

thank in advance

==========================================================

então podem ajudar ou n? :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Oi.

Desde que uses sempre a mesma instancia do MovieClipLoader, não precisas de fazer unload para carregar outra imagem antes que a primeira acabe.

Por isso, a função unloadPic() não é necessária.

O código a funcionar é o seguinte:

var mcLoader:MovieClipLoader = new MovieClipLoader();
//Convem criar um objecto para receber os eventos do McLoader
//Mas como no teu codigo tb n estas a usar nenhum eventHandler, nem precisas de adicionar um listener a instancia.
var mcListener:Object = new Object();
mcLoader.addListener(mcListener);

/******Botoes********************/
botao1.onRelease = function() {
   loadPic("image2.jpg");
}
botao2.onRelease = function() {
   loadPic("image1.jpg");
}

/********Funcoes*****************/
function loadPic(sPath) {
mcLoader.loadClip(sPath, picBox);	
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
:) continua a não funcionar, é k ele parece k n corta o loading em processo e não aparece a imagem pretendida
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Assim, sem mais nada, não estou a ver o que possas estar a fazer mal.

A única coisa que reparei no teu código é que tens a função loadPic e quando a chamas escreves loadpic.

Mas como te carrega a 1ª imagem, penso que apenas foi engano ao transcrever.

Se puderes colocar aqui um fla do que tens, era mais fácil.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ja descobri o problema, no listener adicionei um LoadProgress, e pelos vistos ele ele não carrega como devia de ser... o que eu quero dizer é o seguinte:

a seguir do codigo loadpic eu tenho um para fazer loading the um MP3 num MC completamente diferente(obvio né), mas o codigo de loadPic ta primeiro k o loadMP3, mas ele lê primeiro o MP3, e so começa a ler a imagem quando o MP3 tiver 100% carregado :S

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Quando queres fazer carregamentos simultâneos tens de usar MovieClipLoader's diferentes.

Neste caso queres o mm para as imagens, pq vão carregar no mm sítio e nunca carregam simultâneamente, e outro para o mp3.

Como é óbvio, precisas tb de um listener para cada MovieClipLoader.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

mas para o mp3 eu n estou a usar o mesmo metodo :\

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

já resolvi o problema :) continuei a fazer o mesmo, a unica diferença é k usei o onLoadComplete do listener, assim k tiver a imagem completa, faço o loading do MP3 :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora