Autor Zpráva
Fusion2222
Profil *
zdravim chtěl bych se zeptat jestli by mi nekdo neporadil nakej článek, který by mi trošku více ujasnil listenery a jak se konkrétně dají použít, zatim pracuju v AS2, ono většina článkú je jenom tak okrajove spomene a dal se jim nevenuje. Ono dost by mi aj pomohli aspoň vzorové využití listeneru když už nic jinýho.
FlashManiac
Profil
velice dobře se to vysvětluje na lsitenerech pro načítání externích klipů.. fouknu ti sem příklad s poznámkama:
var loaderObr:MovieClipLoader=new MovieClipLoader();
var naslouchacObr:Object=new Object();
//nejprve nadefinujeme promennou loaderu a promennou listeneru

naslouchacObr.onLoadComplete=function(clip_mc:MovieClip):Void{
	var ret:String;
	var cis:Number=clip_mc._name.indexOf('_');
	ret=clip_mc._name.substring(3,cis);
	clip_mc.cislo=Number(ret);
	//priradi MC identifikacni cislo
	//vycucne z nazvu MC cislo, ktere pak priradi
	
	//nadefinovali jsme si funkci co nám priradi promennou nacitanemu MC
}
naslouchacObr.onLoadInit=function(clip_mc:MovieClip):Void{
	clip_mc._x=clip_mc.cislo*10;
	clip_mc._y=clip_mc.cislo*10;
	//nadefinovali jsme si dalsi funkci, ktera po prvnim zobrazeni umisti nacitany clip na dane misto
}
function vytvorObrazky():Void{
	for(var i:Number=0;i<pole.length;i++){
		this.createEmptyMovieClip('obr'+i+'_mc',20+i);
		loaderObr.loadClip(pole[i],'obr'+i+'_mc');
	}//fce ktera nacte do vytvorenych MC pozdovane obrazky, v promenne POLE mame na jednotlivych prvcich adresu nacitanych obrazku
}
loaderObr.addListener(naslouchacObr);
//nyni priradime objekt listeneru nasemu loaderu, pak bude možno zachytavat udalosti loaderu
vytvorObrazky();
//funkce ktera nam spusti vlastni nacitani do loaderu


kdyztak si spust help flashe tam je tech prikladu daleko vic a myslim ze to je z toho vcelku pekne pochopitelne
Fusion2222
Profil *
aha, asi tomu uz rozumim, akorat sem se dostal na podobny tutorial ktery je podobne vysvetluje, ale dik moc pomohlo mi to. ono jeste bych mel dotaz, proc funkce "voidujes" ma to naky smysl? pokud vim, void znamena ze funkce nebude mit zadny vystup.
DoubleThink
Profil *
Asynchronní události (AS2)
Systém událostí (AS3)
FlashManiac
Profil
Fusion2222:
to je jen kvůli zjednodušení pro překladač, je lépe všech striktně typovat, pro rychlejší provádění kódu a lepsi debugging
Fusion2222
Profil *
aha.. to by vysvetlovalo proc zlozitejsi kody maji i napr striktne zadefinovany promenne ( promenna:Number) a pod. Dik moc za tvou odpoved

no pokracoval jsem s nacitanim externich obrazku a klipu pres listenery a skvele mi to slo. ted se zabyvam spise nacitanim zvuku a napsal jsem:

on (press) {
pisnicka = new Sound();
pan_poslouchac = new Object();

pisnicka.loadSound("autumn_leaves.mp3",true);
pisnicka.addListener(pan_poslouchac);

pan_poslouchac.onLoadComplete = function () {
textove_pole=pisnicka.duration;
}
}

no muj cil byl takovy ze kdyz stlacim tlacitko ak se nacita externi mp3 a nasledne zacne hrat.. hned jak se mp3 nacte tak v textovem poli (krere ma promennou textove_pole) se zobrazi rozsah nactene mp3. Ono postupoval jsem podobne jak v pripade kdyz bylo potreba nacitani externich obrazku nebo klipu, avsak s tim rozdilem ze ted listener nefunguje. mohl bys mi pls rict co je konkretne na tom spatne? podle toho jak jsem to pochopil by to melo fungovat ale nefunguje:F
FlashManiac
Profil
Fusion2222:
no jde o to ze událost zvuku nemá událost onLoadComplete ale jen onLoad :) a nemusíš to aplikovat na obecný objekt ale lze to aplikovat přímo na objekt zvuku:
var zvuk:Sound=new Sound();

zvuk.onLoad=function(s:Boolean):Void{
	if(s){
		zvuk.setVolume(100);
		zvuk.start(0,0);
	}else{
		trace('zvuk nenacten');
	}
}
zvuk.loadSound(adresa_ k_TvemuZvuku,false);


stačí si projít help flashe a z tech příkladů co tam jsou si všechno(nebo skoro všechno) odvodíš :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0