求助flash中mc颜色的滑块控制

来源:百度知道 编辑:UC知道 时间:2024/05/25 09:23:30
我想通过三个滑块来控制mc的颜色.
经测试,mc的颜色可变,但不是rgb所赋的值
如图:

具体代码如下

第一帧:

color = new Color(_root.mc);
color_set = new Object();

第二帧:

x1 = Math.round(_root.a_mc.f._x/_root.a_mc.d._width*255);
_root.t1 = x1;
x2 =Math.round(_root.b_mc.f2._x/_root.b_mc.d2._width*255);
_root.t2 = x2;
x3 = Math.round(_root.c_mc.f3._x/_root.c_mc.d3._width*255);
_root.t3 = x3;
// 给color_set变量赋值,分别赋于R.G.B的值
color_set.rb = Number(x1);
color_set.gb = Number(x2);
color_set.bb = Number(x3);
// 给颜色变量color赋值,赋于color_set的RGB值
color.setTransform(color_set);

第三帧:

gotoAndPlay(2);

说明:用flash 8
滑块的实例名分别为:f,f2,f3
滑道的实例名分别为:d,d2,d3
t1,t2,t3 是三个动态文本的变量

就以上问题求教于各位。
谢谢!

我帮你改了下,虽然代码有所不同,但是能达到你想要的效果。

效果和你发的图差不多,用鼠标拉动RGB颜色滑块 影片剪辑的颜色会随之改变

右边的数值会显示出当前的RGB颜色。

希望你满意 。要不你给我个邮件地址或者联系方式,我把原文件发给你~~

简要说下具体操作:

实例名称设置和你的一样
滑块的实例名分别为:f,f2,f3
滑道的实例名分别为:d,d2,d3
t1,t2,t3 是三个动态文本的变量
被控制的影片剪辑名:mc
按钮的拖动效果你会做吧,我这就不说了,不明白的话再给我留言。
主要的是主场景的时间轴上下的动作;

function ee() { //定义为一个函数以便时时刷新
pr = int(255*(f._x-100)/300);//注意这里-100是因为按钮到最左端时x坐标为100
pg = int(255*(f2._x-100)/300);//300是滑道的总长
pb = int(255*(f3._x-100)/300);
t1 = "R:"+pr;
t2 = "G:"+pg;
t3 = "B:"+pb;
pr = decToHex(pr);//把数值转化为16进制
pb = decToHex(pb);
pg = decToHex(pg);
mycolor = "0x"+pr+pg+pb;//取得mc颜色值
var my_color:Color = new Color(mc);//设置MC颜色

my_color.setRGB(mycolor);

}
setInterval(ee, 100);//时时刷新改变后的效果

function decToHex(dec:Number) { //以下是将十进制转化为十六进制的函数
var hexString: