Archief - FLASH: ActionScript: Fade Out op een Movie Clip

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Ryzer

Legacy Member
Ik heb weinig ervaring met Flash en ActionScript. Ik probeer een soort van "shoutbox ticker" te maken. Een tiental messages worden via een XML file opgehaald en beurt om beurt weergegeven. Dit lukt perfect. Alleen wil ik nu dat tussen het vertonen van elke "shout" entry, mijn vorige shout mooi weg-fade door de alpha waarde in te stellen. Ik heb verschillende voorbeelden gezien op het Internet, deze werken perfect. Alleen in MIJN project werkt het net NIET.

Mijn code:

PHP:
function loadXML(loaded) {
	if (loaded) {
		xmlNode = this.firstChild;
		user = [];
		shout = [];
		url = [];
		total = xmlNode.childNodes.length;
		
		for (i=0; i<total; i++) {
			user[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue;
			shout[i] = xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue;
			url[i] = xmlNode.childNodes[i].childNodes[2].firstChild.nodeValue;
		}

		first_item();
	} else {
		shoutMC.shoutText.text = "Fout: " + this.error;
	}
}

xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("shout_xml_output.php");

function first_item() {
	delay = 3000;
	p = 0;
	display(p);
	p++;
}

function timer() {
	myInterval = setInterval(ticker, delay);
	function ticker() {
		clearInterval(myInterval);
		if (p == total) {
			p = 0;
		}
		fadeout();
	}
}

function display(pos) {
	over = new TextFormat();	over.underline = true;

	out = new TextFormat();
	out.underline = false;

	shoutMC._alpha = 100;
	shoutMC.shoutText.text = shout[pos];
	shoutMC.nameText.text = user[pos];

	
	shoutMC.onRelease = function() {
		getURL(url[pos], "_self");
	};
	
	shoutMC.onRollOver = function() {
		this.shoutText.setTextFormat(over);

	};
	
	shoutMC.onRollOut = function() {
		this.shoutText.setTextFormat(out);
	};
	
	timer();
}

function fadeout() {
	fadeInterval = setInterval(fade, 40);
	function fade() {
		if (shoutMC._alpha>=0) {
			//shoutMC.text = shoutMC._alpha;
			shoutMC._alpha -= 10;
		} else {
			clearInterval(fadeInterval);
			display(p);
			p++;
		}
	}
}

Door de regel " shoutMC.text = shoutMC._alpha " ben ik er zeker van dat de alpha waarde mooi aangepast wordt. Alleen zie ik geen verschil. Wanneer de alpha waarde nadert naar 0 blijft alles volledig zichtbaar...

Heeft iemand raad? Ik heb het ook reeds geprobeerd zonder timer maar door gebruik te maken van onEnterFrame. Dit geeft hetzelfde resultaat: De alpha waarde daalt vlotjes maar er is geen verandering waarneembaar.

thondermonst

Legacy Member
euh, Flash & AS is enige tijd geleden bij mij, ben nu eerst PHP aan het leren. Maar wat mij als redelijke beginneling wel opvalt is dat je bij verschillende functies geen variabelen doorgeeft.

Ryzer

Legacy Member
thondermonst zei:
euh, Flash & AS is enige tijd geleden bij mij, ben nu eerst PHP aan het leren. Maar wat mij als redelijke beginneling wel opvalt is dat je bij verschillende functies geen variabelen doorgeeft.

Het werkt allessinds... :)
Alleen die "shoutMC._alpha -= 10;" heeft blijkbaar geen effect.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan