主题:  谁能替我理理这段action

平凡人

职务:普通成员
等级:4
金币:17.0
发贴:1442
#12002/10/27 13:54:38
onClipEvent (load) {
function init () {
startcolor = "FFD790";
ra = new Number (0);
ga = new Number (0);
ba = new Number (0);
raa = _root.sr;
gaa = _root.sg;
baa = _root.sb;
colorsteps = 5;
colordone = true;
ci = 0;
}
function incR (dr) {
raa = raa + dr;
if (raa > 255) {
raa = 255;
}
ra = new Number (Math.floor(raa));
ra = ra.toString(16);
if (raa < 16) {
ra = "0" + ra;
}
make();
}
function decR (dr) {
raa = raa - dr;
if (raa < 0) {
raa = 0;
}
ra = new Number (Math.floor(raa));
ra = ra.toString(16);
if (raa < 16) {
ra = "0" + ra;
}
make();
}
function incG (dg) {
gaa = gaa + dg;
if (gaa > 255) {
gaa = 255;
}
ga = new Number (Math.floor(gaa));
ga = ga.toString(16);
if (gaa < 16) {
ga = "0" + ga;
}
make();
}
function decG (dg) {
gaa = gaa - dg;
if (gaa < 0) {
gaa = 0;
}
ga = new Number (Math.floor(gaa));
ga = ga.toString(16);
if (gaa < 16) {
ga = "0" + ga;
}
make();
}
function incB (db) {
baa = baa + db;
if (baa > 255) {
baa = 255;
}
ba = new Number (Math.floor(baa));
ba = ba.toString(16);
if (baa < 16) {
ba = "0" + ba;
}
make();
}
function decB (db) {
baa = baa - db;
if (baa < 0) {
baa = 0;
}
ba = new Number (Math.floor(baa));
ba = ba.toString(16);
if (baa < 16) {
ba = "0" + ba;
}
make();
}
function make () {
if (ra == "0") {
ra = ra + "0";
}
if (ba == "0") {
ba = ba + "0";
}
if (ga == "0") {
ga = ga + "0";
}
farge = (ra add ga) add ba;
}
function changecolor () {
if (ci < colorsteps) {
if (difr < 0) {
decR(difr * -1);
} else {
incR(difr);
}
if (difg < 0) {
decG(difg * -1);
} else {
incG(difg);
}
if (difb < 0) {
decB(difb * -1);
} else {
incB(difb);
}
ci = ci + 1;
myColor.setRGB(parseInt(farge, 16));
} else {
colordone = true;
giveRGB(_root.er, _root.eg, _root.eb);
myColor.setRGB(parseInt(farge, 16));
}
}
function gotoRGB (er, eg, eb) {
oldcolorS = myColor.getRGB().tostring(16);
while (oldcolorS.length < 6) {
oldcolorS = "0" + oldcolorS;
}
oldSr = oldcolorS.substr(0, 2);
oldSg = oldcolorS.substr(2, 2);
oldSb = oldcolorS.substr(4, 2);
sr = parseInt(oldSr, 16);
sg = parseInt(oldSg, 16);
sb = parseInt(oldSb, 16);
if (((sr != er) or (sg != eg)) or (sb != eb)) {
_root.sr = sr;
_root.sg = sg;
_root.sb = sb;
_root.er = er;
_root.eg = eg;
_root.eb = eb;
init();
colordone = false;
incR(0);
incG(0);
incB(0);
myColor.setRGB(parseInt(farge, 16));
difr = (er - sr) / colorsteps;
difg = (eg - sg) / colorsteps;
difb = (eb - sb) / colorsteps;
}
}
function giveRGB (nr, ng, nb) {
raa = nr;
gaa = ng;
baa = nb;
incR(0);
incG(0);
incB(0);
}
raa = 0;
baa = 0;
gaa = 0;
init();
myColor = new Color (this);
myColor.setRGB(parseInt(startcolor, 16));
}
onClipEvent (enterFrame) {
if (!colordone) {
changecolor();
} else {
}
}



Demon.S

职务:版主
等级:5
金币:10.0
发贴:2468
#22002/10/28 9:55:43
搞错,太长
你自己拿flash里测试下有什么问题再贴
看起来像过度色的发生



朝朝暮暮

职务:普通成员
等级:5
金币:34.2
发贴:3517
#32002/10/28 14:03:34
妈妈呀。好难读呀。


朝朝暮暮永远爱老婆
欢迎大家访问:http://bbs.dameng.com/forumdisplay.php?fid=19,国产数据库。我是版主。希望大家多多支持!

平凡人

职务:普通成员
等级:4
金币:17.0
发贴:1442
#42002/10/28 14:25:39
画魔你可真是高呀。这么长的代码也能看出来,我以经测试成功了,作用是变色!



s22

职务:版主
等级:4
金币:10.0
发贴:1634
#52002/10/28 15:53:39
马屁声。。呵呵~