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:
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.
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.
