回到scene1,新建一层,从library中拖拽“综合”元件到舞台,并在instance面板中设置其name属性为:zz。还记得我们在上一节中制作的“背景动画”元件吧,在scene中你应当确保“背景动画”元件所在的层是最下层,“综合”元件所在层在“背景动画”所在层的上方。你可以通过在时间轴上拖拽layer来达到目的。
最后新建一层,将名称为“fireworks”,“flash”,“dreamweaver”的三个按钮拖拽到这一层。并使用变形工具与旋转工具调整他们的位置与大小。
右键单击“fireworks"按钮,在弹出菜单中选择actions,输入如下as:
on (rollOver) {
colx = +0x000099;
xzcol = new Color(_root["yy"]);
xzcol.setRGB( colx);
tellTarget ("yy") {
gotoAndPlay (2);
}
tellTarget ("zz") {
gotoAndPlay ("fw");
}
}
on (release) {
tellTarget ("zz") {
gotoAndPlay ("first");
}
tellTarget ("yy") {
gotoAndStop (1);
}
}
从这段as中,我们可以看出,当鼠标滑过“fireworks"按钮时,就触发了事件,name属性为zz的mc将跳转到frame lable属性为fw的那一帧开始播放。而“背景动画”(在前一节“背景动画”元件被指定name属性为yy)也被设置一个新的色彩并开始播放。我们可以根据上面的as ,给其它两个按钮也加上类似的as,注意将gotoAndPlay ("fw");这一句中的fw换成各自的fl和dw。
最后,我们来看一些flash中关于颜色控制的技巧。
大家知道在Flash里有一个Effect面板,可以对组件实例进行色彩和透明度的调节。其中的advanced(高级)设置选项可以进行高级的颜色与透明度设置,功能非常强大。而在Flash5的action里我们也可以使用Color对象对影片片断进行复杂的色彩控制,其实就是通过effect面板来达到的,具体的函数为setTransform(txform)。
txform为一个对象,包含成员有:ra(红色比率)、ga(绿色比率)、ba(蓝色比率)、aa(透明度比率)、rb(红色附加值)、gb(绿色附加值)、bb(蓝色附加值)、ab(透明度附加值)。它们分别对应于Effect-advanced设置框里的各个值(左边为比率,右边为附加值)。可以通过getTransform()函数来获取影片片断当前的色彩属性,即txform对象。初始状态下,比率值为100,附加值为0。
比如,要将一个组件的颜色设为纯红色0xff0000(不管它原来是什么颜色),或某种别的什么颜色(如黄色0xffff00),那么也就是要使得它原来的颜色比率为0,同时附加上这种颜色。所以可以设置ra,ga,ba都为0、rb为0xff、gb,bb为0,这样就可以得到一个纯红色的效果。黄色也一样,只要将gb也设成0xff就行了。
如果只是需要得到纯色,那不用劳驾setTransform函数,只要用setRGB(rgb)函数就足够了。rgb就是所要设置的颜色,比如前面用到的纯红色0xff0000。
然而,在实际情况下往往需要在原来颜色的基础上进行一定程度的变化,而不仅仅是纯色。比如要进行一定的色彩平衡、亮度调节、对比度调节以及饱和度调节等等,这时我们就必须用到复杂得多的setTransform函数。
一个setTransform函数的语法实例:
col = new Color(a);
col.setTransform({ra:-100,ga:-100,ba:-100,rb:255,gb:255,bb:255});
由于setTransform函数比较复杂,我们不进行详细的讲解,有兴趣的读者可以自行研究。
- 第3页:Flash实例教程:漫天流星耀夜空(3)
- 第4页:Flash实例教程:漫天流星耀夜空(4)
- 相关阅读:
- ·Facebook视频完成从Flash转移到HTML5
//soft.zol.com.cn/558/5588278.html - ·硬实力大比拼 2015 PC浏览器年度横评
//soft.zol.com.cn/556/5560697.html - ·流行朋友圈"主要看气质"的梗从何而来?
//soft.zol.com.cn/556/5561601.html - ·Adobe宣布Flash更名 支持HTML5开发
//soft.zol.com.cn/555/5552783.html - ·携程为何要封杀襁褓之中的阿里·旅行?
//soft.zol.com.cn/554/5548719.html